From: Sylvestre Ledru Date: Tue, 16 Dec 2025 11:47:30 +0000 (+0100) Subject: Import llvm-toolchain-21_21.1.8-1.debian.tar.xz X-Git-Tag: archive/raspbian/1%21.1.8-1+rpi1~89^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f08fc010cc29167e40f35884dba1aacb0987c35f;p=llvm-toolchain-21.git Import llvm-toolchain-21_21.1.8-1.debian.tar.xz [dgit import tarball llvm-toolchain-21 1:21.1.8-1 llvm-toolchain-21_21.1.8-1.debian.tar.xz] --- f08fc010cc29167e40f35884dba1aacb0987c35f diff --git a/NEWS b/NEWS new file mode 100644 index 0000000000..67e3dc9c69 --- /dev/null +++ b/NEWS @@ -0,0 +1,16 @@ +llvm-toolchain-21 (1:21.1.4-4) unstable; urgency=medium + + In order to allow for smoother upgrades for packages whose programs + dynamically link against them, we have renamed the libc++1-21, + libc++abi1-21, and libunwind-21 libraries to drop the major versions. + Henceforth, the shared libraries will be in the libc++1, libc++abi1, + and libunwind1 packages. + + This brings LLVM's libc++ packages in line with the conventions of + GNU GCC's libstdc++ packages. As of June 2025, upstream has documented + guarantees that upgrades of libc++ will not break application binary + interfaces: + https://github.com/llvm/llvm-project/blob/main/libcxx/docs/ABIGuarantees.rst + + -- Andres Salomon Sat, 13 Sep 2025 04:25:28 -0400 + diff --git a/README b/README new file mode 100644 index 0000000000..6a928c9929 --- /dev/null +++ b/README @@ -0,0 +1,109 @@ +Organization of the repository +============================== + +The debian package for each LLVM point release is maintained as a git branch. +For example, the 10 release lives at in the "10" branch. + +The current snapshot release is maintained in the "snapshot" branch. + +The easiest way to get all branches is probably to have one +clone per version: + +for f in 14 15 16 17 snapshot; do + git clone git@salsa.debian.org:pkg-llvm-team/llvm-toolchain.git -b $f $f +done + +debian/control is generated from debian/control.in by running: + +debian/rules preconfigure + + +Steps for manually building a snapshot release +============================================== + +1) Retrieve the latest snapshot and create original tarballs. + + Run the orig-tar.sh script, + + $ sh snapshot/debian/orig-tar.sh + + which will retrieve the latest version for each LLVM subproject (llvm, + clang, lldb, etc.) from the main development (upstream github). and repack it + as a set of tarballs. + +2) Unpack the original tarballs and apply quilt debian patches. + + From the branches/ directory run the unpack.sh script, + + $ sh unpack.sh + + which will unpack the source tree inside a new directory such as + branches/llvm-toolchain-snapshot_3.9~+20191018225217+3b123a2be6d. + (date+hour+short git hash). + Depending on the current snapshot version number and git release, + the directory name will be + different. + + Quilt patches will then be applied. + +3) Build the binary packages using, + + $ fakeroot debian/rules binary + +When debugging, successive builds can be recompiled faster by using tools such +as ccache (PATH=/usr/lib/ccache:$PATH fakeroot debian/rules binary). + +Retrieving a specific branch or release candidate with orig-tar.sh +================================================================== + +When using orig-tar.sh, if you need to retrieve a specific branch, you can pass +the branch name as the first argument. For example, to get the 10 release +branch at + https://github.com/llvm/llvm-project/branches +you should use, + + $ sh 10/debian/orig-tar.sh release/10.x + +To retrieve a specific release candidate, you can pass the branch name as the +first argument, and the tag rc number as the second argument. For example, to +get the 9.0.1 release candidate rc3 at + https://github.com/llvm/llvm-project/tags +you should use, + + $ sh 10/debian/orig-tar.sh 10.0.1 rc3 + +For a stable release, the syntax is: + + $ sh 10/debian/orig-tar.sh 10.0.0 + + +Additional maintainer scripts +============================= + +The script debian-llvm-testsuite.bats that is found at the git debian/ directory +should be used to quickly test a newly built package. It runs a short +set of sanity-check tests and regression tests. +It is executed in autopkgtest. + +The script releases/snapshot/debian/prepare-new-release.sh is used when +preparing a new point release. It automatically replaces version numbers +in various files of the package. + +Making a change to all versions +=============================== + +Sometimes, we want to make a change on all branches. +In that case, start to make the change from the older +version (example: 8), then, change branch (example: 9) and +$ git merge origin/8 +to retrieve the changes + +ABI Stability +============= +Prior to LLVM 21, in debian the various libc++ packages included +major versions in the names (eg, libc++1-19). After LLVM 21, the +major version was dropped from the name in order to make it easier +for packages to depend upon the shared library packages. The three +renamed packages are libc++1, libc++abi1, and libunwind1. We are +guaranteed ABI stability in those libraries, as documented in +https://github.com/llvm/llvm-project/blob/main/libcxx/docs/ABIGuarantees.rst diff --git a/README.source b/README.source new file mode 100644 index 0000000000..90e258379b --- /dev/null +++ b/README.source @@ -0,0 +1,43 @@ +All programs and libraries shipped in this package are trying to stay as close +as possible from upstream. + +However, because of the objectives of Debian, besides paths, some changes are +made. + +The Debian packaging is also used by apt.llvm.org. + +From 12.0.1-10 & 13.0.0-9, the build system use the runtimes build system. +This is now the upstream preferred way to build llvm. +It means that some projects like libc++ or compiler-rt are built once clang +is built. + += File names = + +* To make sure that most of the llvm-toolchain packages are co-installable, +files are installed in /usr/lib/llvm-X/ +and symlinks are managed by the other package llvm-defaults + + += CPU extensions = + +* For armel, uses float ABI instead of hard. + +* For armv7-a, NEON extensions are disabled. + +* For mips, FPXX is enabled, MADD4 instructions are disabled. + +* For riscv64, the hard-float ABI is used instead of the float one, and + the target CPU is set to RV64GC instead of RV64I. + +* For s390x: set default abi to z196 for debian, and z13 for ubuntu. + See https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-10/+bug/1864226 + += Libraries = + +* sonames are created + +* Build-ID are enabled + + + -- Sylvestre Ledru , Mon, 30 Mar 2020 11:08:10 +0200 + diff --git a/bolt-X.Y.install.in b/bolt-X.Y.install.in new file mode 100644 index 0000000000..8d1be3da5c --- /dev/null +++ b/bolt-X.Y.install.in @@ -0,0 +1,13 @@ +usr/bin/llvm-bolt-@LLVM_VERSION@ +usr/bin/llvm-bolt-heatmap-@LLVM_VERSION@ +usr/bin/llvm-boltdiff-@LLVM_VERSION@ +usr/bin/merge-fdata-@LLVM_VERSION@ +usr/bin/perf2bolt-@LLVM_VERSION@ +usr/bin/llvm-bolt-binary-analysis-@LLVM_VERSION@ + +@LLVM_DIR@/bin/llvm-bolt +@LLVM_DIR@/bin/llvm-bolt-heatmap +@LLVM_DIR@/bin/llvm-boltdiff +@LLVM_DIR@/bin/merge-fdata +@LLVM_DIR@/bin/perf2bolt +@LLVM_DIR@/bin/llvm-bolt-binary-analysis diff --git a/bolt-X.Y.lintian-overrides.in b/bolt-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..cca415e5ed --- /dev/null +++ b/bolt-X.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# known ... +bolt-@LLVM_VERSION@: no-manual-page diff --git a/changelog b/changelog new file mode 100644 index 0000000000..0ea09d6259 --- /dev/null +++ b/changelog @@ -0,0 +1,8387 @@ +llvm-toolchain-21 (1:21.1.8-1) unstable; urgency=medium + + [ Matthias Klose ] + * Enable offloading on riscv64 (Aurelian Jarno). + * Manually fix the python3 shebangs. dh_python3 can only handle one + private directory. Also install lit first in the dh_override_install + target, fix it there, and move it to the package from there. + * Add build conflicts on llvm-21-runtime and clang-21, or else the + wasm build picks up stuff from the installed llvm-21 and fails. + * Update symbols files again. + + [ Sylvestre Ledru ] + * New upstream release + + -- Sylvestre Ledru Tue, 16 Dec 2025 12:47:30 +0100 + +llvm-toolchain-21 (1:21.1.7-1) unstable; urgency=medium + + * LLVM 21.1.7 release. + + * Update symbols files for hurd-amd64. + * clang-21-tools, llvm-21-tools: Use dh_python3 substvars. + * liblldb-21: Move the .so symlink to the liblldb-21-dev package. + * Add myself as uploader for 21. + * d/rules: Remove unnecessary use of the CURDIR macro. + + -- Matthias Klose Tue, 09 Dec 2025 22:34:57 +0100 + +llvm-toolchain-21 (1:21.1.6-3) unstable; urgency=medium + + * Fix liborc install on hurd-amd64. + * Also call dh_python for the llvm-X.Y-tools package. + * libunwind-X.Y-dev: Stop providing libunwind-dev. As updated in the + package description, the unwinder is incompatible with glibc. + * d/rules, d/*.{install,links,lintian-overrides}.in: Use a macro LLVM_LIBDIR. + * Fix one more libclang1 lintian override. + * Fix one more libc++-21-dev-wasm32 lintian override. + * Update symbols files from the buildd logs, including i386. + * Fix syntax for OR-ed build profiles. + + -- Matthias Klose Sun, 30 Nov 2025 08:20:46 +0100 + +llvm-toolchain-21 (1:21.1.6-2) unstable; urgency=medium + + [ Samuel Thibault ] + * Enable compiler-rt and disable liborc on hurd-amd64. + (Closes: #1121222) + + [ Sylvestre Ledru ] + * Enable sse2 back on i386 (closes: #1116636) + https://lists.debian.org/debian-devel/2025/01/msg00034.html + (remove the two patches that we are applying for disable sse2) + It is now the same as upstream + + -- Samuel Thibault Sun, 23 Nov 2025 14:28:16 +0100 + +llvm-toolchain-21 (1:21.1.6-1) unstable; urgency=medium + + * LLVM 21.1.6 release. + + [ Sylvestre Ledru ] + * Workaround the replaces/breaks on apt.llvm.org (upstream 167538) + + [ Matthias Klose ] + * Only run the flang autopkg tests where flang is available. + * Rename the LIBC_ARCHS macro to LLVM_LIBC_ARCHS, and only run the + libllvmlibc autopkg tests where the package is available. + * Skip the "Test pthread_cancel with libunwind compatibility" autopkg test. + Is this supposed to work at all? See #1118641. + * Fix removing *.pyc files and __pycache__ dirs during installation. + * Fix some lintian warnings, override some more. + * Update symbols files from the buildd logs. + + [ Scott Talbert ] + * Fix crash when building GHC 9.10 on armhf + + -- Sylvestre Ledru Fri, 21 Nov 2025 15:09:31 +0100 + +llvm-toolchain-21 (1:21.1.5-1) unstable; urgency=medium + + [ Matthias Klose ] + * New upstream release + * d/rules: Mark usage of SLOPPY_BUILD to ease searching in the build log. + * Update watch file, use with --force-download to fetch the integration + testsuite. + * Bump llvm-spirv build dependency to 21 again. + * Introduce an OMPD_ARCHS macro and use it. + * Add a llvm.noclang build profile (not enabled by default). + * Introduce LLVM_SPIRV_ARCHS and CLANG_GRPC_ARCHS macros and use them. + * Bump standards version. + * Also use the grpc bits for clang on i386. + * Don't run the omp autopkg test on i386. Closes: #1118644. + * d/tests/control.in: Add test dependency on g++-multilib. Closes: #1118643. + * d/debian-llvm-testsuite.bats: Skip test. Closes: #1118641. + The test "pthread_cancel with libunwind compatibility" is wrong. + * d/tests/control.in: Add test dependency on binutils-gold. Closes: #1118646. + * Build and install libflang_rt.runtime. Closes: #1117534. + * Add the alternate hello b-d for grpc related build dependencies. + * Add profile to ocaml build dependencies. + * Re(?)-enable omp on i386. + * d/control: Only use one build profile per binary package for now. The ORing + of build profiles seems to be not working. + * Rename build profiles from llvm.* to pkg.llvm.*. + * Fix some lintian warnings, override some more. + * Filter hardening flags from FFLAGS, not understood by flang. + * Clarify the libunwind package descriptions, that it is not compatible + with glibc. + * Re-add the negative hardening options for the FFLAGS filtering, removed in + the "improve the filtering" commit. + + [ Sylvestre Ledru ] + * Rename 160581.diff to flang-runtime.diff + * Remove duplicate coverity declaration + * Remove duplicate buster in SPIRV_DISABLE_DISTRO + * RUNTIMES = compiler-rt;libcxx;libcxxabi is set identically in both branches + of a conditional - + * Rename ign_fail => ignore_if_fail + * create a macro check_pkg_version to simplify the code + * Remove a 19 artifact + * Use a macro to dedup remove_rpath code + * Fix typo in control + * Rename ign_fail => ignore_if_fail + * README: remove the svn doc + * Missing Shebang in unpack.sh + * Remove dup declarations in llvm-X.Y + obj2yaml, yaml2obj, verify-uselistorder & sanstats + * Remove old TODO + + -- Sylvestre Ledru Mon, 10 Nov 2025 21:21:05 +0100 + +llvm-toolchain-21 (1:21.1.4-8) unstable; urgency=medium + + * d/rules: Move OMP_ARCHS and LIBUNWIND_ARCHS macro usage after definition. + * ompd is not available on armhf. + * d/rules: Also turn on SLOPPY_BUILD for amd64. + + -- Matthias Klose Wed, 05 Nov 2025 12:41:59 +0100 + +llvm-toolchain-21 (1:21.1.4-7) unstable; urgency=medium + + * Fix installation of the asan_symbolize binary. + * Rename the python extension ompdModule.so to one with the + architecture specific extension. + * d/rules, d/*.{install,links,lintian-overrides}.in: Use a macro LLVM_DIR. + + -- Matthias Klose Tue, 04 Nov 2025 22:12:56 +0100 + +llvm-toolchain-21 (1:21.1.4-6) unstable; urgency=medium + + * Add support to disable the OCAML build for specific releases. + * Set explicit architecture list for libfuzzer-dev. + * d/rules: New macro SLOPPY_BUILD to avoid build failures caused by + additional build artifacts or missing symbols. Better to collect + that information in build logs and apply it in follow-up uploads. + Turn it on for architectures other than amd64 and arm64 for now. + * Make the library packages libc++1, libc++abi1, libomp5 and llvm-libunwind1 + M-A: same, moving the real files to /usr/lib/. Provide the + symlinks in /usr/lib/llvm-X.Y/lib in the correspinding -dev packages. + Addresses: #1116212. + * Revert parts of the SKIP_COMMON_PACKAGES changes, the move of the files + to another package and the breaks/replaces are not needed anymore. + * Update libomp5 symbols for ppc64 and ppc64el. + * d/rules: Use POLLY_ARCHS instead of POLLY_NO_ARCHS. + * Factor out BOLT_ARCHS and HWASAN_ARCHS. + * When not building the common packages, + - Remove the files in these packages according to their .install file. + - Add a build dependency on the libllvm package. + * d/rules: Don't remove the intermediate build files. This increases + the build form 15GB to 35GB, far lower than the 100GB buildd limit. + * llvm-X.Y-dev: Create a debian_config.mk Makefile snippet to record + component builds for every architecture. Used by llvm-defaults to + avoid hard-coding these again. + * Reset the libomp5 symbols files, now generated by pkgkde-symbolshelper. + Let the buildds collect the symbols for the other architectures. + * Fix build dependencies when not building the common library packages. + * d/rules: Differentiate between COMMON_PKGS and COMMON_BUILD_DEPS. + * d/rules: Build again omp on mips64el and ppc64, as done in 19. + * Install asan_symbolize in clang-tools, same as hwasan_sybolize. + * Update libc++1 and libc++abi1 symbols files for all architectures. + * d/rules: Use a d/shlibs.local file when not building the common libraries. + * Fix installation of the asan_symbolize binary. + * Rename the python extension ompdModule.so to one with the + architecture specific extension. + * d/rules, d/*.{install,links,lintian-overrides}.in: Use a macro LLVM_DIR. + + -- Matthias Klose Tue, 04 Nov 2025 18:00:30 +0100 + +llvm-toolchain-21 (1:21.1.4-5) unstable; urgency=medium + + * debian/debian-llvm-testsuite.bats: Reformat and sort LIST. + * Move libomptarget library from libomp5 to liboffload-X.Y. + * d/rules: Don't call dh_makeshlibs for libomp5 twice. + * d/rules: Ignore errors from dh_makeshlibs --remaining-packages. + Let's collect symbols diffs first. + * Update symbols files for libc++1, libc++abi1, libomp5 and + llvm-libunwind1 on amd64, arm64, armhf, i386, ppc64el and s390x. + * Reset the libc++1 and libc++abi1 symbols files, generated by + pkgkde-symbolshelper. Let the buildds collect the symbols + for the other architectures. + * d/rules: Build with dh_install --list-missing to collect uninstalled + artifacts on other architectures. + + -- Matthias Klose Wed, 29 Oct 2025 12:29:06 +0100 + +llvm-toolchain-21 (1:21.1.4-4) unstable; urgency=medium + + [ Matthias Klose ] + * Introduce the Ubuntu Resolute distro, remove obsolete Plucky patch. + * d/rules: Add alpha to BINUTILS_ARCHS. + * Always build the LLVMgold plugin, independent of the linker used for + the build. + * Define -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON on all architectures for correct + cross compilers. Except on powerpc and ppc64, where it thinks it has this + feature also on the host. + * d/rules: Fix $ expansion in dpkg-query call. + * d/rules: Factor out LIBUNWIND_ARCHS macro. + * libomptarget is not built on ppc64. + * Limit architecture of binary packages to the ones supported by LLVM. + * d/libomp-X.Y-dev.install.in, d/libomp5-X.Y.install.in: Use OFFLOAD_ARCHS. + * d/rules: Make grep a bit more quiet. + * d/control*: Remove ${t64:Provides}. + * Add patch to useRVA23U64 baseline on riscv64. Not applied by default. + * python3-lldb-X.Y: Remove some dangling symlinks and use dh-python + to create proper dependencies for the package. Addresses: #1106112. + * d/p/protobuf_3.21.patch: Remove obsolete patch. Addresses: #1093963. + * Remove obsolete build dependencies libjsoncpp-dev and pkg-config. + Addresses: #1093961. + * Add command completion for the versioned clang binary. Addresses: #1109370. + * Rename libunwind1 to llvm-libunwind1, the namespace is already taken + by the libunwind source package. + * For the new llvm-libunwind1, libc++abi1 and libc++1 packages: + - Add symbols files. + - Add proper breaks/replaces for the previous packages built from + this source. + - Relax the dependency from the corresponding -dev packages + from = to >=, needed when these new packages will be built from + newer LLVM versions. + - These should be Multi-Arch: same, but it is not yet possible, + because these also exist in /usr/lib/llvm-21/lib ... + * Bump the debhelper dependency to 11, d/compat was already at 11. + * clang-tools: Install hwasan_symbolize on x32. + * Drop major version from libomp5-21, rename to libomp5. + * Build polly again on powerpc. + * Also call dh_python3 for python3-clang-X.Y. + * d/rules: New macro SMALL_DISK to remove intermediate files during the build. + Turned on by default for buildd constraints. + * d/rules: Fix stripping RPATH/RUNPATH. + * Fix the binary-indep only build. + * Introduce a macro SKIP_COMMON_PACKAGES to disable the build of packages + built from an newer LLVM version (libc++1, libc++abi1, libomp5, + llvm-libunwind1). + When not building these packages, move the links in /usr/lib/llvm-X.Y/lib + into the corresponding -dev packages and add a replaces to the last version + building the common packages. + * d/rules: Add dependencies for various build targets. Addresses: #1105541. + * d/debian-llvm-testsuite.bats: Update for new package names. + * Fix libPolly installation on powerpc. + + [ Andres Salomon ] + * Drop major version from libc++1-21, libc++abi1-21, and libunwind-21 + package names (eg, libc++1-21 -> libc++1). Upstream guarantees a stable + ABI. + * Add SONAME to libunwind (-> libunwind1) (closes: #1116211) + + [ Norbert Lange ] + * Move clang-cl and clang-scan-deps from clang-tools to the clang package. + * Build compiler-rt for mingw-w64. + + -- Matthias Klose Tue, 28 Oct 2025 21:24:45 +0100 + +llvm-toolchain-21 (1:21.1.4-3) unstable; urgency=medium + + * Stop using gold, and use the GNU BFD linker where lld is not working. + * Set the baseline for Ubuntu/s390x 26.04 LTS and later to z15. + * d/rules: Remove unused macro LLDB_ENABLE. + * Turn off offloading on ppc64 and hurd-amd64. Unsupported. + * d/rules: Don't turn off COMPILER_RT_USE_BUILTINS_LIBRARY and + LIBCXX_USE_COMPILER_RT on s390x. Closes: #1114980. + * Diffentiate between LLD_ARCHS and LLD_BUILD_ARCHS. On some architectures + lld is not usable for the bootstrap. + * Try to turn off compiler-rt on hurd-amd64. + * d/libclang1-X.Y.symbols.in: Add LLVM_21 symbol version, remove specific + symbols covered by the added symbol version. + * Fix usage-wrapper usage on hurd-amd64. + * Update symbols files for libc++1, libc++abi1 and llvm-libunwind1. + + -- Matthias Klose Thu, 23 Oct 2025 10:50:08 +0200 + +llvm-toolchain-21 (1:21.1.4-2) unstable; urgency=medium + + * Rename debian-llvm-testsuite.sh => debian-llvm-testsuite.bats + And don't call it with bash + It is a bats script + (Closes: #1118487) + + -- Sylvestre Ledru Wed, 22 Oct 2025 09:53:11 +0200 + +llvm-toolchain-21 (1:21.1.4-1) unstable; urgency=medium + + * new upstream release + + -- Sylvestre Ledru Tue, 21 Oct 2025 11:03:29 +0200 + +llvm-toolchain-21 (1:21.1.3-1) unstable; urgency=medium + + * new upstream release + * refresh the list of the symbols in libclang & libomp (Closes: #1117600) + * Do not test gold usage anymore. lld or mold are now much better + (Closes: #1117385) + * Reame qualify-clang.sh to debian-llvm-testsuite.sh as it is now doing + much more + * adjust debian-llvm-testsuite.sh to use lld instead of gold + and debian/tests/integration-test-suite-test + + -- Sylvestre Ledru Sun, 12 Oct 2025 17:16:05 +0200 + +llvm-toolchain-21 (1:21.1.2-4) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Cherry-pick 149665 to fix an armhf time64_t failure + Thanks to Gianfranco Costamagna for the patch + + [ Matthias Klose ] + * d/libclang-rt-X.Y-dev.install.in: liborc_rt* is not available on powerpc. + + -- Sylvestre Ledru Tue, 07 Oct 2025 11:55:16 +0200 + +llvm-toolchain-21 (1:21.1.2-3) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Also install xray on other archs in libclang-common-X.Y-dev + (change made in 20) + + [ Samuel Thibault ] + * debian/patches/hurd/47211c4b96e99a3344a71570a99b991c5f5c1c01.patch: Fix + build on hurd. + + -- Sylvestre Ledru Fri, 26 Sep 2025 18:23:56 +0200 + +llvm-toolchain-21 (1:21.1.2-2) unstable; urgency=medium + + * Bootstrap with llvm-spirv-19 instead of 21 + (experimental and unstable build machines are different) + + -- Sylvestre Ledru Thu, 25 Sep 2025 14:51:34 +0200 + +llvm-toolchain-21 (1:21.1.2-1) unstable; urgency=medium + + * Bump llvm-spirv dep to 21 + * New upstream release + + -- Sylvestre Ledru Wed, 24 Sep 2025 08:09:15 +0200 + +llvm-toolchain-21 (1:21.1.1-1) unstable; urgency=medium + + * New upstream release + * never use libunwind for libc++abi + Thanks to Norbert Lange for the fix + * Build compiler builtin for s390x + + [ Andres Salomon ] + * Fix incorrect major version dependency in libc++-21-dev. + + -- Sylvestre Ledru Sat, 20 Sep 2025 09:12:54 +0200 + +llvm-toolchain-21 (1:21.1.0-1) unstable; urgency=medium + + * New upstream release + * I am not going to upload -20 in unstable to avoid the maintenance burden + + -- Sylvestre Ledru Wed, 27 Aug 2025 10:47:13 +0200 + +llvm-toolchain-21 (1:21.1.0~+rc2-1~exp1) experimental; urgency=medium + + * Creation of the 21 branch + * upload of the rc2 version + * Try to use llvm-spirv-20 + + [ Jianfeng Liu ] + * Add CFLAGS/CXXFLAGS -mcmodel=medium on loong64 (Closes: #1107858) + + -- Sylvestre Ledru Tue, 29 Jul 2025 17:24:17 +0200 + +llvm-toolchain-snapshot (1:21~++20250612091244+3f0cf742ac4e-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * Remove llvm-gpu-loader like upstream + * Remove libomptarget.devicertl.a as it seems it has been removed here + https://github.com/llvm/llvm-project/pull/136359 + * Remove 0001-tools-clang-cmake-resolve-symlinks-in-ClangConfig.cmake.patch + to see if it fixes: https://github.com/llvm/llvm-project/issues/132556 + * Also ship usr/lib/llvm-21/lib/amdgcn-amd-amdhsa/libompdevice.a + usr/lib/llvm-21/lib/nvptx64-nvidia-cuda/libompdevice.a in + libomp-21-dev + * Lower flang python dep for Debian buster for apt.llvm.org + lower-flang-py-dep.diff + * Adjust the path to libomptarget*bc + * revert a flang-rt change to fix + https://github.com/llvm/llvm-project/issues/139220 + * Ship more clang-doc + * Also install llvm-test-mustache-spec + * Ship offload-arch as part of clang-tools-X-Y + 79cb6f05da37520949c006e26c5cef1826090d9d + + [ Matthias Klose ] + * On ppc64el configure with -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON for + * upcoming distros. Closes: #1113934. + + -- Sylvestre Ledru Thu, 12 Jun 2025 09:14:29 +0200 + +llvm-toolchain-snapshot (1:21~++20250322080030+20b5728b7b1c-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * d/rules: Distinguish between openmp and offload architectures. + * Update libclang1 symbols file. + * Update libomp symbols file, using symvers. + * d/t/control: Remove explicit dependency on libstdc++-N-dev. + * d/rules: Simplify permission settings for generated debhelper files. + * d/rules: There's no more CMakeOutput.log anymore. + + [ Sylvestre Ledru ] + * Prepare version 21 + * Merge recent changes from 19 and 20 + * Use lld as a linker instead of gold + * clang-21 recommends clang-tools-21 + https://github.com/llvm/llvm-project/issues/117333 + * Do not install libclc header anymore. + See a2b05761724e5243056988d9d6bf1a5a94715b74 + "The libclc headers are an implementation detail and are not + intended to be used by others as OpenCL headers" + * remove libc rpc files following upstream change + 8437b7f5584765ad4f7885500647657714930fbb + * Add llvm-ml64 as part of the llvm-X.Y + 3c657ceef9ced068b0c7bc2f1d5fb74250720f6c + * Add llvm-gpu-loader as part of the llvm-X.Y + 221b0117fd21d45098ead779a040a4b939a5c84f + + -- Sylvestre Ledru Sat, 22 Mar 2025 08:01:26 +0100 + +llvm-toolchain-20 (1:20.1.0-1~exp2) experimental; urgency=medium + + * Merge changes from the 19 branch + + -- Sylvestre Ledru Sun, 09 Mar 2025 10:52:27 +0100 + +llvm-toolchain-20 (1:20.1.0-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Thu, 06 Mar 2025 14:40:09 +0100 + +llvm-toolchain-20 (1:20.1.0~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 27 Feb 2025 08:17:03 +0100 + +llvm-toolchain-20 (1:20.1.0~+rc2-1~exp2) experimental; urgency=medium + + [ Sylvestre Ledru ] + * clang-20 recommends clang-tools-20 + https://github.com/llvm/llvm-project/issues/117333 + * remove old libomp-20-dev breaks/replaces + * Cherry-pick upstream fix for issue 126358 + + [ Matthias Klose ] + * d/llvm-X.Y-linker-tools.links.in: Remove, no gold anymore. LP: #2098355. + * d/rules: Simplify permission settings for generated debhelper files. + * d/rules: There's no more CMakeOutput.log anymore. + * d/libomp5-X.Y.symbols.in: Remove duplicate symbol. + * d/rules: Update setting lld and gold archs. + * d/rules: Don't use lld on ppc64, sparc64 and x32, apparently unsupported. + * d/libclang-rt-X.Y-dev.install.in: Install liborc_rt* on loong64. + * debian/patches/env-lld-package-metadata.diff: Update and re-enable. + + -- Sylvestre Ledru Fri, 14 Feb 2025 12:28:14 +0100 + +llvm-toolchain-20 (1:20.1.0~+rc2-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * d/t/control.in: Remove explicit dependency on libstdc++-N-dev. + + [ Sylvestre Ledru ] + * new rc release + * Disable env-lld-package-metadata.diff because of upstream changes + + -- Sylvestre Ledru Wed, 12 Feb 2025 13:23:30 +0100 + +llvm-toolchain-20 (1:20.1.0~+rc1-1~exp1) experimental; urgency=medium + + * First tag of 20.1.0 + * libLLVMOffload.so.20.0 => libLLVMOffload.so.20.1 to follow upstream change + * Use lld as a linker instead of gold + + -- Sylvestre Ledru Mon, 03 Feb 2025 09:00:03 +0100 + +llvm-toolchain-20 (1:20~++20250130014317+8c2574832ed2-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * d/rules: Distinguish between openmp and offload architectures. + * Update libclang1 symbols file. + * Update libomp symbols file, using symvers. + * d/t/control: Remove explicit dependency on libstdc++-N-dev. + + [ Sylvestre Ledru ] + * Prepare the branch 20 + + -- Sylvestre Ledru Thu, 30 Jan 2025 13:43:33 +0100 + +llvm-toolchain-snapshot (1:20~++20250107094038+ea14bdb0356c-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * bolt: Disable the check for /proc/self/map_files. Might not be available + on build machines. LP: #2084316. + * Fix compatibility with Python 3.13. Closes: #1084659. + + [ Sylvestre Ledru ] + * New snapshot release + * Install usr/lib/llvm-20/include/shared/rpc*.h in libllvmlibc-X.Y-dev + + -- Sylvestre Ledru Tue, 07 Jan 2025 21:41:10 +0100 + +llvm-toolchain-snapshot (1:20~++20241212011120+0cbdad4bd239-1~exp1) experimental; urgency=medium + + * Only build libc on supported arch (for real) + * Ship bolt-binary-analysis in bolt + + -- Sylvestre Ledru Thu, 12 Dec 2024 13:22:30 +0100 + +llvm-toolchain-snapshot (1:20~++20241205084449+66a0a081338d-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Build-depend on llvm-spirv-19 instead of llvm-spirv-18. + * d/libclang-cppX.Y.links.in: Honor LLVM_VERSION_MINOR for the symlink. + * Update watch file and add .git* files to exclude in the tarball. + * d/rules: Add a BD_ALT_HELLO macro. Set it to anything else than "yes" to avoid + generating alternative build dependencies on hello in the control file. + + [ Samuel Thibault ] + * debian/libclang-common-X.Y-dev.install.in: Fix dh_install on hurd-any. + + [ John Paul Adrian Glaubitz ] + * Don't try to install xray and profile headers on powerpc + * Install liborc_rt-powerpc64.a on powerpc + * Allow overriding the bootstrap compiler from the environment + * Set compiler-rt default target arch on powerpc + * Restrict compiler-rt build to default target arch on powerpc + + [ Sylvestre Ledru ] + * experimental New snapshot release + * flang-new has been renamed to flang (a flang-new still exists) + * Use the | hello trick for g++-multilib for s390x / Ubuntu Oracular + * Also install usr/lib/llvm-20/lib/libgomp.so.1 (links) + Follow eccdb2489483ca58d2cb35bc38967a8e33117575 + * Ship fir-lsp-server in flang-20 + * Ship clang-sycl-linker in clang-tools + * remove libLibcTableGenutil.a + Removed in https://github.com/llvm/llvm-project/pull/117220/files + * Ship liboffload in a new package + + -- Sylvestre Ledru Fri, 06 Dec 2024 18:14:31 +0100 + +llvm-toolchain-snapshot (1:20~++20241008102056+4d218caa7716-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Build-depend on llvm-spirv-19 instead of llvm-spirv-18. + * d/libclang-cppX.Y.links.in: Honor LLVM_VERSION_MINOR for the symlink. + * Update watch file and add .git* files to exclude in the tarball. + + [ Samuel Thibault ] + * debian/libclang-common-X.Y-dev.install.in: Fix dh_install on hurd-any. + + [ Sylvestre Ledru ] + * New snapshot release + * sync from 19 => snapshot + + -- Sylvestre Ledru Tue, 08 Oct 2024 10:21:13 +0200 + +llvm-toolchain-snapshot (1:20~++20240921071058+b177a9b6efb6-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Add a .gitignore file with all toplevel upstream files and directories. + * Add some memory tracking, getting some information on memory hogs. + * Don't require g++-multilib on s390x for newer Ubuntu releases. + * Factor-out ocaml architectures. + * Don't try to install xray and profile headers on armel and armhf. + * Disable ocaml on armhf, requires ocamlopt. + * Factor-out omp architectures. + * Disable openmp on riscv64 (ld: cannot find -lomptarget.rtl.host). + * Factor-out flang architectures. + * Disable flang on mips64el (currently not supported). + * Don't try to install hwasan_symbolize on x32. + * Don't try to install xray and profile headers on x32. + * Fix installation of the shared libllvm and libclang-cpp libraries + under their soname. Addresses: #1072200. + * Drop some of the unnecessary libllvm symlinks. + * debian/orig-tar.sh: Don't include .git/.github metadata. + * debian/rules: Don't create a stamp for the override_dh_auto_install target. + * debian/rules. Call again dh_ocaml. Closes: #1078235. + * Disable openmp on mips64el (ld: cannot find -lomptarget.rtl.host). + * Disable memory tracking on the Hurd and some ports architectures. + * Also explicitly link with -latomic on mips64el. + * Build without z3 on sh4 (ftbfs). + * Also configure with -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa". + * debian/qualify-clang.sh: Don't check for libclang-cpp.so.$VERSION symlink. + * debian/tests/*: s/18/20/g. + * libllvm20: Restore the symlink /usr/lib/llvm-20/lib/libLLVM.so.1, apparently + CMake's LLVMExports.cmake requires it. But why? + * Disable z3 again for Ubuntu, and make the libz3-dev (build) dependency + conditional. + * Use -mxgot on mips64el. + * Disable tests on mips64el, they do timeout. + * Consolidate disabling CMake's package validation checks a bit. + * debian/qualify-clang.sh: Skip OpenMP test, if libomp-dev is not available. + * Disable CMake's package validation check for libLLVM.so.1. + * Disable the usage-wrapper/memory tracking by default. + * Limit lldb autopkg test to the lldb architectures. + * Generate debian/tests/* files. + * Replace LLDB_DISABLE_ARCHS macro with LLDB_ARCHS macro. + * Remove unused kfreebsd patches, and remove references to kfreebsd and s390. + * Remove references to alpha, hppa, powerpcspe and sh4. + * Fix usage-wrapper build dependency. + * Move the libLLVM.so.1 symlink into llvm-20-dev. + * debian/qualify-clang.sh: Skip llvmlibc test, if libllvmlibc-dev is not + available. + * Don't relax versioned shlibs dependencies for snapshot builds and + prerelease versions. + * libllvm20: No symlinks in the llvm-20 subdir. Addresses: #1081192, #1082495. + + [ Samuel Thibault ] + * Add hurd-amd64 support. + + [ Aurelien Jarno ] + * Enable lldb on riscv64. + * Enable lldb autopkgtest on riscv64. + + [ YunQiang Su ] + * also pass -mxgot in LDFLAGS. + * d/p/mips-mlir-xgot.diff: Pass -mxgot for mlir. + + [ Sylvestre Ledru ] + * New snapshot release + * Remove clang-rename + https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e + * Ensure that at least 1 CPU is used for build + Thanks to Santiago Vila for the patch + (Closes: #1082360) + * Remove clang-pseudo + https://github.com/llvm/llvm-project/pull/109154 + + -- Sylvestre Ledru Sat, 21 Sep 2024 19:12:01 +0200 + +llvm-toolchain-snapshot (1:20~++20240919085205+77af9d10237f-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Add a .gitignore file with all toplevel upstream files and directories. + * Add some memory tracking, getting some information on memory hogs. + * Don't require g++-multilib on s390x for newer Ubuntu releases. + * Factor-out ocaml architectures. + * Don't try to install xray and profile headers on armel and armhf. + * Disable ocaml on armhf, requires ocamlopt. + * Factor-out omp architectures. + * Disable openmp on riscv64 (ld: cannot find -lomptarget.rtl.host). + * Factor-out flang architectures. + * Disable flang on mips64el (currently not supported). + * Don't try to install hwasan_symbolize on x32. + * Don't try to install xray and profile headers on x32. + * Fix installation of the shared libllvm and libclang-cpp libraries + under their soname. Addresses: #1072200. + * Drop some of the unnecessary libllvm symlinks. + * debian/orig-tar.sh: Don't include .git/.github metadata. + * debian/rules: Don't create a stamp for the override_dh_auto_install target. + * debian/rules. Call again dh_ocaml. Closes: #1078235. + * Disable openmp on mips64el (ld: cannot find -lomptarget.rtl.host). + * Disable memory tracking on the Hurd and some ports architectures. + * Also explicitly link with -latomic on mips64el. + * Build without z3 on sh4 (ftbfs). + * Also configure with -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa". + * debian/qualify-clang.sh: Don't check for libclang-cpp.so.$VERSION symlink. + * debian/tests/*: s/18/20/g. + * libllvm20: Restore the symlink /usr/lib/llvm-20/lib/libLLVM.so.1, apparently + CMake's LLVMExports.cmake requires it. But why? + * Disable z3 again for Ubuntu, and make the libz3-dev (build) dependency + conditional. + * Use -mxgot on mips64el. + * Disable tests on mips64el, they do timeout. + * Consolidate disabling CMake's package validation checks a bit. + * debian/qualify-clang.sh: Skip OpenMP test, if libomp-dev is not available. + * Disable CMake's package validation check for libLLVM.so.1. + * Disable the usage-wrapper/memory tracking by default. + * Limit lldb autopkg test to the lldb architectures. + * Generate debian/tests/* files. + * Replace LLDB_DISABLE_ARCHS macro with LLDB_ARCHS macro. + * Remove unused kfreebsd patches, and remove references to kfreebsd and s390. + * Remove references to alpha, hppa, powerpcspe and sh4. + * Fix usage-wrapper build dependency. + * Move the libLLVM.so.1 symlink into llvm-20-dev. + * debian/qualify-clang.sh: Skip llvmlibc test, if libllvmlibc-dev is not + available. + + [ Samuel Thibault ] + * Add hurd-amd64 support. + + [ Aurelien Jarno ] + * Enable lldb on riscv64. + * Enable lldb autopkgtest on riscv64. + + [ YunQiang Su ] + * also pass -mxgot in LDFLAGS. + * d/p/mips-mlir-xgot.diff: Pass -mxgot for mlir. + + [ Sylvestre Ledru ] + * New snapshot release + * Remove clang-rename + https://github.com/llvm/llvm-project/commit/40c45b6b43180221acb49f387e7d3158adf49e3e + + -- Sylvestre Ledru Thu, 19 Sep 2024 08:53:00 +0200 + +llvm-toolchain-snapshot (1:20~++20240726085032+92a06546ab50-1~exp2) experimental; urgency=medium + + * Ship usr/lib/llvm-20/lib/clang/20/include/llvm_offload_wrappers in + libclang-common-20-dev + * Ship /usr/lib/llvm-20/lib/libFlangOpenMPTransforms.a in + libflang-20-dev + + -- Sylvestre Ledru Tue, 13 Aug 2024 19:19:23 +0200 + +llvm-toolchain-snapshot (1:20~++20240726085032+92a06546ab50-1~exp1) experimental; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable LLVM testsuite on x32 + * Install liborc_rt-x86_64.a on x32 + * Install hwasan_symbolize on x32 + + [ Norbert Lange ] + * build lldb with Intel PT support on x86, amd64 + + [ Sylvestre Ledru ] + * Adjust the clang-X-doc path after the change + d7dd778cde84110e38521a6b55dfeb4e1c649ec2 + * bring back clang-nvlink-wrapper + following upstream commit: 37d0568a6593adfe791c1327d99731050540e97a + * rename llvm-omp-device-info to llvm-offload-device-info + following 7102592af740ed9f8b388c12dd2182039a58167d + * ship llvm-ctxprof-util in llvm-X.Y-tools + * ship llvm-cgdata in llvm-X.Y-tools + * snapshot is now 20 + + [ Matthias Klose ] + * Pass --package-metadata on distros with supporting linkers (starting + with Debian trixie and Ubuntu noble). + The package metadata is constructed from the environment variables + ELF_PACKAGE_METADATA. + Setting NO_PKG_METADATA=1 disables the generation of the package metadata. + + -- Sylvestre Ledru Fri, 26 Jul 2024 08:50:50 +0200 + +llvm-toolchain-19 (1:19.1.7-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Skip some autopkgtests on non intel cpu. Closes: #1094233. + * clang-19 recommends clang-tools-19 + https://github.com/llvm/llvm-project/issues/117333 + * Also add binutils-gold in the integration-test-suite-test testsuite + * Add binutils-gold as build dep + + [ Matthias Klose ] + * d/t/control.in: Add binutils-gold as explicit test dependency. + Don't add binutils-gold as a build dependency, just build with the + default linker. + * Do changes from last upload in d/t/control.in, not in d/t/control. + * d/rules: Simplify permission settings for generated debhelper files. + + -- Sylvestre Ledru Tue, 25 Feb 2025 18:05:48 +0100 + +llvm-toolchain-19 (1:19.1.7-1) unstable; urgency=medium + + [ Matthias Klose ] + * Update libclang1 symbols file. + + [ Sylvestre Ledru ] + * New upstream release + * Rewrite qualify-clang.sh with bats + Might fail on some archs + * Tests: integration-test-suite-test + Remove explicit dep libstdc++-14 + + -- Sylvestre Ledru Tue, 14 Jan 2025 14:16:47 +0100 + +llvm-toolchain-19 (1:19.1.6-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New upstream release. Should be the last of 19 + And the one in the next Debian release + * Remove the capability to be able to disable C++ Exceptions in libc++ + * Bring back C++ exceptions on s390x for libc++ (LP: #2086782) + * Disable -Bsymbolic-function on Ubuntu for causing: + https://github.com/llvm/llvm-project/issues/59432#issuecomment-2500694332 + + [ Matthias Klose ] + * bolt: Disable the check for /proc/self/map_files. Might not be available + on build machines. LP: #2084316. + * Fix compatibility with Python 3.13. Closes: #1084638. + + -- Sylvestre Ledru Wed, 18 Dec 2024 10:01:43 +0100 + +llvm-toolchain-19 (1:19.1.5-1) unstable; urgency=medium + + [ Matthias Klose ] + * Better correct than less cryptic. Fix BD_ALT_HELLO substitutions. + + [ John Paul Adrian Glaubitz ] + * Install liborc_rt-powerpc64.a on powerpc + + [ Sylvestre Ledru ] + * New upstream release + + -- Sylvestre Ledru Wed, 04 Dec 2024 13:11:08 +0100 + +llvm-toolchain-19 (1:19.1.4-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New upstream release + * Decrease the risk of getting "hello" as package (instead of installing + wasi-libc) + (Closes: #1086702) + + [ Matthias Klose ] + * d/rules: Add a BD_ALT_HELLO macro. Set it to anything else than "yes" to avoid + generating alternative build dependencies on hello in the control file. + + -- Sylvestre Ledru Tue, 26 Nov 2024 10:14:24 +0100 + +llvm-toolchain-19 (1:19.1.3-2) unstable; urgency=medium + + * enable OpenMP (without offloading) on riscv64 (and mips64el and loong64) + Thanks to Aurélien Jarno for this patch + (Closes: #1087280) + + -- Sylvestre Ledru Mon, 11 Nov 2024 12:45:14 +0100 + +llvm-toolchain-19 (1:19.1.3-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Wed, 30 Oct 2024 21:56:13 +0100 + +llvm-toolchain-19 (1:19.1.2-2) unstable; urgency=medium + + [ Samuel Thibault ] + * Disable time64_t ABI on hurd-i386 too. + + [ Sylvestre Ledru ] + * Use the | hello trick for g++-multilib for s390x / Ubuntu Oracular + * Enable compiler-rt runtime again for 32bit time_t64 architectures. + (Closes: #1085853) + * Backport Ubuntu 25.04 - Plucky Puffin support + + -- Sylvestre Ledru Sun, 27 Oct 2024 21:05:41 +0100 + +llvm-toolchain-19 (1:19.1.2-1) unstable; urgency=medium + + [ Samuel Thibault ] + * patches/hurd/hurd-f_type.diff: Fix hurd build against glibc ≥ 2.39. + * libomp-X.Y-dev.install.in: Don't try to ship ompd gdb plugin on + hurd-amd64 ; ship libomptarget. + * libomp5-X.Y.install.in: Ship libomptarget. + * libomp5-X.Y.symbols.in: Fix symbols on hurd-any. + * rules: Fix syntax on non-linux. + + [ John Paul Adrian Glaubitz ] + * Don't try to install xray and profile headers on powerpc + + [ Sylvestre Ledru ] + * New release + * Update Standards version to 4.7.0 + + -- Sylvestre Ledru Tue, 15 Oct 2024 15:11:47 +0200 + +llvm-toolchain-19 (1:19.1.1-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Don't enable intel-pt on Ubuntu Bionic + * Add disabled info in the build log + * Disable LLVM libc on bionic + * Fix the bootstrapping (Closes: #1082610) + Thanks to Andrey Feofilaktov for the patch + * clang provides objc++-compiler (Closes: #1082744) + + [ Matthias Klose ] + * New upstream release + * Update watch file and add .git* files to exclude in the tarball. + + -- Matthias Klose Wed, 02 Oct 2024 06:11:01 +0200 + +llvm-toolchain-19 (1:19.1.0-4) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Adjust the workaround for apt.llvm.org version upgrades + https://github.com/llvm/llvm-project/issues/109276 + * Ensure that at least 1 CPU is used for build + Thanks to Santiago Vila for the patch + (Closes: #1082360) + + [ Matthias Klose ] + * Don't relax versioned shlibs dependencies for snapshot builds and + prerelease versions. + * libllvm19: No symlinks in the llvm-19 subdir. Closes: #1081192, #1082495. + + -- Matthias Klose Sun, 22 Sep 2024 16:36:31 +0200 + +llvm-toolchain-19 (1:19.1.0-3) unstable; urgency=medium + + * Fix typo in dh_makeshlibs calls. + + -- Matthias Klose Wed, 18 Sep 2024 17:26:29 +0200 + +llvm-toolchain-19 (1:19.1.0-2) unstable; urgency=medium + + * Call dh_makeshlibs with the version of the first upstream + release (1:19.1.0). Looking back at the 1.18 release cycle, + these libraries didn't see any instability in the ABIs. + * debian/qualify-clang.sh: Fix typo. + + -- Matthias Klose Wed, 18 Sep 2024 10:29:19 +0200 + +llvm-toolchain-19 (1:19.1.0-1) unstable; urgency=medium + + * New upstream release 19.1.0. + + [ Matthias Klose ] + * debian/qualify-clang.sh: Skip llvmlibc test, if libllvmlibc-dev is not + available. + * Build-depend on llvm-spirv-19. + + [ YunQiang Su ] + * also pass -mxgot in LDFLAGS. + * d/p/mips-mlir-xgot.diff: Pass -mxgot for mlir. + + -- Matthias Klose Tue, 17 Sep 2024 18:04:21 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-5) unstable; urgency=medium + + * Move the libLLVM.so.1 symlink into llvm-19-dev. Closes: #1081192. + + -- Matthias Klose Mon, 09 Sep 2024 11:20:16 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-4) unstable; urgency=medium + + [ Matthias Klose ] + * Consolidate disabling CMake's package validation checks a bit. + * debian/qualify-clang.sh: Skip OpenMP test, if libomp-dev is not available. + * Disable CMake's package validation check for libLLVM.so.1. + * Limit lldb autopkg test to the lldb architectures. + * Generate debian/tests/* files. + * Disable the usage-wrapper/memory tracking by default. + * Replace LLDB_DISABLE_ARCHS macro with LLDB_ARCHS macro. + * Remove unused kfreebsd patches, and remove references to kfreebsd and s390. + * Remove references to alpha, hppa, powerpcspe and sh4. + * Fix usage-wrapper build dependency. + + [ Aurelien Jarno ] + * Enable lldb on riscv64. + * Enable lldb autopkgtest on riscv64. + + -- Matthias Klose Sun, 08 Sep 2024 17:36:43 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-2) unstable; urgency=medium + + * Disable z3 again for Ubuntu, and make the libz3-dev (build) dependency + conditional. + * Use -mxgot on mips64el. + * Disable tests on mips64el, they do timeout. + + -- Matthias Klose Wed, 04 Sep 2024 15:16:40 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc4-1) unstable; urgency=medium + + * New release candidate. + + [ Matthias Klose ] + * Also explicitly link with -latomic on mips64el. + * Disable openmp on loong64 (ld: cannot find -lomptarget.rtl.host). + * Build without z3 on sh4 (ftbfs). + * Also configure with -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa". + * debian/tests/*: s/18/19/. + * debian/qualify-clang.sh: Don't check for libclang-cpp.so.$VERSION symlink. + * libllvm19: Restore the symlink /usr/lib/llvm-19/lib/libLLVM.so.1, apparently + CMake's LLVMExports.cmake requires it. But why? + + [ Samuel Thibault ] + * Add hurd-amd64 support. + + [ Sylvestre Ledru ] + * Remove the cmake dependency on libLibcTableGenUtil.a + see https://github.com/llvm/llvm-project/issues/99819 + * New snapshot release + + -- Matthias Klose Tue, 03 Sep 2024 21:48:12 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-2) unstable; urgency=medium + + * Fix binary-indep build. + * Disable openmp on mips64el (ld: cannot find -lomptarget.rtl.host). + * Disable memory tracking on the Hurd and some ports architectures. + + -- Matthias Klose Sat, 31 Aug 2024 08:10:14 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-1) unstable; urgency=medium + + * Add a .gitignore file with all toplevel upstream files and directories. + * Add some memory tracking, getting some information on memory hogs. + * Don't require g++-multilib on s390x for newer Ubuntu releases. + * Factor-out ocaml architectures. + * Don't try to install xray and profile headers on armel and armhf. + * Disable ocaml on armhf, requires ocamlopt. + * Factor-out omp architectures. + * Disable openmp on riscv64 (ld: cannot find -lomptarget.rtl.host). + * Factor-out flang architectures. + * Disable flang on mips64el (currently not supported). + * Don't try to install hwasan_symbolize on x32. + * Don't try to install xray and profile headers on x32. + * Fix installation of the shared libllvm and libclang-cpp libraries + under their soname. Closes: #1072200. + * Drop some of the unnecessary libllvm symlinks. + * debian/orig-tar.sh: Don't include .git/.github metadata. + * debian/rules. Call again dh_ocaml. Closes: #1078234. + * debian/rules: Don't create a stamp for the override_dh_auto_install target. + + -- Matthias Klose Fri, 30 Aug 2024 19:32:59 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc3-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * ld.lld: When no package-metadata option is given, fall-back + to the envvar ELF_PACKAGE_METADATA. + + [ Emanuele Rocca ] + * Enable bolt on arm64, now supported upstream. + + [ Sylvestre Ledru ] + * remove llvm-cgdata - see 9e90c40564e21dc5f1a12e08cfdf29305aaf9f50 + * New snapshot release + + -- Sylvestre Ledru Tue, 20 Aug 2024 19:52:02 +0200 + +llvm-toolchain-19 (1:19.1.0~++rc2-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Mon, 05 Aug 2024 15:25:06 +0200 + +llvm-toolchain-19 (1:19.1.0~++20240724103243+7af27be6633a-1~exp1) experimental; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable LLVM testsuite on x32 + * Install liborc_rt-x86_64.a on x32 + * Install hwasan_symbolize on x32 + + [ Norbert Lange ] + * build lldb with Intel PT support on x86, amd64 + + [ Sylvestre Ledru ] + * Prepare upload to 19 + * Adjust the clang-X-doc path after the change + d7dd778cde84110e38521a6b55dfeb4e1c649ec2 + * bring back clang-nvlink-wrapper + following upstream commit: 37d0568a6593adfe791c1327d99731050540e97a + * ship llvm-cgdata + + [ Matthias Klose ] + * Pass --package-metadata on distros with supporting linkers (starting + with Debian trixie and Ubuntu noble). + The package metadata is constructed from the environment variables + ELF_PACKAGE_METADATA. + Setting NO_PKG_METADATA=1 disables the generation of the package metadata. + + -- Sylvestre Ledru Sun, 28 Jul 2024 21:39:57 +0200 + +llvm-toolchain-snapshot (1:19~++20240529093513+2cfea14a57ad-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * after upstream 330d8983d25d08580fc1642fea48b2473f47a9da + adjust the RUNTIMES build to include offload (was openmp/libomptarget) + * try to build with LLVM_LIBC_GPU_BUILD + * Move openmp from PROJECTS to RUNTIMES + Should fix: + https://github.com/llvm/llvm-project/issues/90707 + * Also ship libc++.modules.json in libc++-19-dev-wasm32 + * Install libLibcTableGenUtil and rpc files in llvmlibc + * Ship zos_wrappers/builtins.h in libclang-common-19-dev + * Disable openmp on i386 - wasn't officially supported + * Disable the cmake check for LibcTableGenUtil. Closes upstream issue #92359 + * Ship usr/lib/llvm-@LLVM_VERSION@/lib/libCUF*.a in libflang + * Ship reduce-chunk-list in llvm + + -- Sylvestre Ledru Wed, 29 May 2024 09:36:25 +0200 + +llvm-toolchain-snapshot (1:19~++20240421021844+e095d978ba47-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Make libclang-common-19-dev architecture dependent. + * Add python3-pexpect in the build dep for lldb. + * Fix sanitizer build on 32bit time_t64 architectures. + * Refresh the 23-strlcpy_strlcat_warning_removed patch. + * Build-depend on llvm-spirv-18 instead of llvm-spirv-17. + * Add a stage1 profile to disable curl, grpc and spirv. + + [ Sylvestre Ledru ] + * New snapshot release + * Also install libMLIRExecutionEngineShared.so + * Remove lang-to-external-fc to match upstream change in + 4841d70a4b7d7cd8c492c16a9da339ec75bca135 + + -- Sylvestre Ledru Sun, 21 Apr 2024 14:21:37 +0200 + +llvm-toolchain-snapshot (1:19~++20240304085905+c7fdd8c11e54-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * hwasan_symbolize is now built also on i386 + * Update of the libomp symbols + * Also install usr/lib/llvm-19/lib/libLLVM.so.1 + and usr/lib/llvm-19/lib/libLLVM.so.19.0 + * Install clang-installapi as part of clang-tools + * Disable the install of libomp in sub arch + Following 1977404d20ab29ff78a58d8c0f1f4c5e7aef6b16 + + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + -- Sylvestre Ledru Mon, 04 Mar 2024 09:00:56 +0100 + +llvm-toolchain-snapshot (1:19~++20240125092523+41fe98a6e7e5-1~exp1) experimental; urgency=medium + + * branch of 19 + * refresh libomp5 symbol list + * For the usage of -DLIBCXXABI_USE_LLVM_UNWINDER=OFF when we don't build unwind + https://github.com/llvm/llvm-project/issues/77846 + * remove the unconditionally defined -DLIBUNWIND_USE_COMPILER_RT=ON + * Also pass -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF to libcxx-wasm32-wasi builds + + -- Sylvestre Ledru Thu, 25 Jan 2024 14:51:10 +0100 + +llvm-toolchain-18 (1:18.1.8-15) unstable; urgency=medium + + [ Matthias Klose ] + * d/t/control: Remove explicit dependency on libstdc++-N-dev. + + [ Sylvestre Ledru ] + * Skip some autopkgtests on non intel cpu + + -- Sylvestre Ledru Thu, 16 Jan 2025 14:16:06 +0100 + +llvm-toolchain-18 (1:18.1.0~rc4-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * New snapshot release + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) + (amd64, arm64 and armhf) + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * New snapshot release + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) + (amd64, arm64 and armhf) + * Also install usr/lib/llvm-19/lib/libLLVM.so.1 + and usr/lib/llvm-19/lib/libLLVM.so.18.0 + + -- Sylvestre Ledru Wed, 28 Feb 2024 11:08:41 +0100 + +llvm-toolchain-18 (1:18.1.0~rc2-4) unstable; urgency=medium + + * Fix 32bit builds, exclude i386, don't build clang-rt there + * Revert gold linker on mips64el + * Disable stack protector on mips64el + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + Ship libc++-18-dev /usr/lib/llvm-18/lib/libc++.modules.json /usr/lib/llvm-18/include/c++/v1/std.compat.cppm + /usr/lib/llvm-18/include/c++/v1/std.cppm + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + [ John Paul Adrian Glaubitz ] + * Install *clang_rt* on sparc and sparc64 + * Run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + * add -DLIBCXX_INSTALL_MODULES=ON to install libc++ C++-20 modules + see https://discourse.llvm.org/t/libc-c-23-module-installation-support/77061/1 + * Add a new package libllvmlibc-18-dev to ship LLVM libc (experimental for now) + * Fix 32bit builds, exclude i386, don't build clang-rt there + * Revert gold linker on mips64el + * Disable stack protector on mips64el + * Fix 32bit builds, exclude i386, don't build clang-rt there + * Revert gold linker on mips64el + * Disable stack protector on mips64el + + -- Gianfranco Costamagna Thu, 22 Feb 2024 17:58:05 +0100 + +llvm-toolchain-18 (1:18.1.0~rc2-3) unstable; urgency=medium + + * Add abi=+time64,+lfs only on 64bits system + + -- Sylvestre Ledru Sun, 11 Feb 2024 14:29:31 +0100 + +llvm-toolchain-18 (1:18.1.0~rc2-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Try gold linker on mips64el + * Add also lfs on top of time64, to fix FTBFS on 32bit + + [ Sylvestre Ledru ] + * add new symbols in libomp5 + + -- Gianfranco Costamagna Thu, 08 Feb 2024 16:38:35 +0100 + +llvm-toolchain-18 (1:18.1.0~rc2-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Wed, 07 Feb 2024 21:15:53 +0100 + +llvm-toolchain-18 (1:18.1.0~rc1-3) unstable; urgency=medium + + * Fix previous upload, time64 is effective only in one specific place of + rules file + * Fix some test using still clang-17 + * Switch testing to 18 line + * Fix an underlinking on qualify-clang.sh + + -- Gianfranco Costamagna Wed, 07 Feb 2024 15:05:08 +0100 + +llvm-toolchain-18 (1:18.1.0~rc1-2) unstable; urgency=medium + + [ Steve Langasek ] + * Use ABI time64 to avoid a transition for a new package + + -- Gianfranco Costamagna Mon, 05 Feb 2024 08:26:26 +0100 + +llvm-toolchain-18 (1:18.1.0~rc1-1) unstable; urgency=medium + + [ Samuel Thibault ] + * control: Avoid hello build-dep getting pulled in on buildds. + + [ Gianfranco Costamagna ] + * Fixup rc versioning, and go for sid + + [ Sylvestre Ledru ] + * hwasan_symbolize is now built also on i386 + + -- Gianfranco Costamagna Wed, 31 Jan 2024 10:36:07 +0100 + +llvm-toolchain-18 (1:18.1.0-rc1-1~exp1) experimental; urgency=medium + + * First RC + + -- Sylvestre Ledru Tue, 30 Jan 2024 09:01:06 +0100 + +llvm-toolchain-18 (1:18.1.0~++20240126095841+0991d3c7b53d-1~exp1) experimental; urgency=medium + + * Branching of 18 + note that it is normal that the versioning starts from 18.1 + See https://discourse.llvm.org/t/rfc-name-the-first-release-from-a-branch-n-1-0-instead-of-n-0-0/75384 + * refresh libomp5 symbol list + * For the usage of -DLIBCXXABI_USE_LLVM_UNWINDER=OFF when we don't build unwind + https://github.com/llvm/llvm-project/issues/77846 + * remove the unconditionally defined -DLIBUNWIND_USE_COMPILER_RT=ON + * Also pass -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF to libcxx-wasm32-wasi builds + + -- Sylvestre Ledru Fri, 26 Jan 2024 09:44:56 +0100 + +llvm-toolchain-snapshot (1:18~++20231211102647+75193b192ad9-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Set the cpu defaults for the ARM32 architectures: + - armel: arm926ej-s. Addresses: #1056115. + - armhf: cortex-a8. + Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes. + * Apply the proposed fix for D158491, build failure on mips64el, still + unreviewed upstream. Addresses: #1056116. + + [ Sylvestre Ledru ] + * New snapshot release + * Fix a libc++ conflicts (Closes: #1057899) + + -- Sylvestre Ledru Mon, 11 Dec 2023 10:26:59 +0100 + +llvm-toolchain-snapshot (1:18~++20231203063627+9f78edbd20ed-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * replace python3-recommonmark by myst-parser + to follow upstream change b7ff03206d668cd5a620a9d4e1b22ea112ed56e3 + And disable generation of the doc on old distro + * Ship tblgen-to-irdl as part of mlir-tools + * Rename lldb-vscode => lldb-dap + * Ship tblgen-to-irdl as part of mlir-tools + * Remove __tgt_rtl_deinit_plugin & __tgt_rtl_deinit_device symbols from + openmp https://github.com/llvm/llvm-project/pull/73557 + + [ Matthias Klose ] + * Limit the number of parallel processes based on the available memory + and the packages to be built (flang has some memory hogs). + * Also install liborc_rt*.a on ppc64 and ppc64el. + * Fix stripping build flags on Ubuntu/ppc64el. + * libclang1-18: Only encode the major version in the soname. See #1056126. + * Restore the patch for D148945, searching /usr/lib/llvm-18/lib by default. + Addresses: #1056580. + * Also use the free swap to determine the number of parallel processes. + * Set the cpu defaults for the ARM32 architectures: + - armel: arm9e. Closes: #1056115. + - armhf: cortex-a7. + + [ John Paul Adrian Glaubitz ] + * Don't install *clang_rt* on sparc and sparc64 + + -- Sylvestre Ledru Sun, 03 Dec 2023 18:38:51 +0100 + +llvm-toolchain-17 (1:17.0.3-1~exp1) experimental; urgency=medium + + [ Matthias Klose ] + * Consolidate the build flags for the wasm builds. + * Disable the clc and wasm builds when not building binary indep packages. + * Limit the parallel links to 2 on riscv64. + * d/rules: Be less noisy when building without grpc. + * Build-depend on libncurses-dev instead of libncurses5-dev. + * Use a stamps subdirectory for all build stamps. + * Factor-out the calls to dh_listpackages. + * d/rules/preconfigure: Print info about build environment. + + -- Matthias Klose Sun, 08 Oct 2023 08:10:51 +0200 + +llvm-toolchain-snapshot (1:18~++20230818040015+c931f2e6fd0c-1~exp2) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable wasm support on powerpc and powerpcspe + * Remove powerpc from BINUTILS_GOLD_ARCHS again + + -- John Paul Adrian Glaubitz Wed, 30 Aug 2023 11:49:01 +0200 + +llvm-toolchain-snapshot (1:18~++20230818040015+c931f2e6fd0c-1~exp1) experimental; urgency=medium + + * snapshot is now 18 + * Remove llvm-remark-size-diff & llvm-tapi-diff from llvm-X.Y-dev + * Remove lldb-disable-swig-error.diff - no longer necessary + + -- Sylvestre Ledru Fri, 18 Aug 2023 16:00:36 +0200 + +llvm-toolchain-snapshot (1:18~++20230725115106+b6847edfc235-1~exp1) experimental; urgency=medium + + * snapshot is now 18 + + -- Sylvestre Ledru Tue, 25 Jul 2023 23:52:42 +0200 + +llvm-toolchain-17 (1:17.0.6-6) UNRELEASED; urgency=medium + + [ chenli ] + * Enable flang on loong64 + + [ Sylvestre Ledru ] + * try to enable sccache on 'my' s390x machines + + -- Sylvestre Ledru Wed, 24 Jan 2024 13:29:35 +0100 + +llvm-toolchain-17 (1:17.0.6-5) unstable; urgency=medium + + [ Faidon Liambotis ] + * Revert "Enable COMPILER_RT_BUILD_BUILTINS for armel" + * Fix i386 FTBFS resulting from COMPILER_RT_DEFAULT_TARGET_ONLY + (Closes: #1060440) + + -- Sylvestre Ledru Thu, 11 Jan 2024 14:15:09 +0100 + +llvm-toolchain-17 (1:17.0.6-4) unstable; urgency=medium + + * debian/qualify-clang.sh: remove the compiler-rt test of i386 + use libclang-rt-17-dev:i386 instead + + [ Matthias Klose ] + * libclang1-17: Remove the full version symlinks. + + [ Faidon Liambotis ] + * Enable COMPILER_RT_DEFAULT_TARGET_ONLY for all archs + * Enable COMPILER_RT_BUILD_BUILTINS for armel + * Drop two unreferenced debian/patches + * Mark documentation packages as Multi-Arch: foreign + * Convert libclang-common-*-dev to Arch: all/M-A: foreign + + -- Sylvestre Ledru Tue, 09 Jan 2024 13:03:56 +0100 + +llvm-toolchain-17 (1:17.0.6-3) unstable; urgency=medium + + * Cherry pick the wasm fix from 16 + (Closes: #1057838) + + -- Sylvestre Ledru Fri, 15 Dec 2023 18:51:57 +0100 + +llvm-toolchain-17 (1:17.0.6-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Add new cmake-clang-test to spot issues such as + Debian bug #1057151 + * Fix cmake file (Closes: #1057151) + * Drop sed command, useless now + + [ Matthias Klose ] + * Also use the free swap to determine the number of parallel processes. + * libclang1-17: Hard-code the last full versions for the symlinks. + * Also use the free swap to determine the number of parallel processes. + * Set the cpu defaults for the ARM32 architectures: + - armel: arm926ej-s. Closes: #1056115. + - armhf: cortex-a8. + Thanks to Arnd Bergmann and Ard Biesheuvel for the fixes. + * Apply the proposed fix for D158491, build failure on mips64el, still + unreviewed upstream. Addresses: #1056116. + + [ Sylvestre Ledru ] + * Move the symlink /usr/lib/*/libc++experimental.a from libc++abi-17-dev + to libc++-17-dev + * Remove some old break/replaces from 16 + * Fix the EmitBackendOutput test in debian/qualify-clang.sh + * Also add back /usr/lib/llvm-17/lib/libclang-17.so.1 + + -- Gianfranco Costamagna Fri, 08 Dec 2023 09:49:04 +0100 + +llvm-toolchain-17 (1:17.0.6-1) unstable; urgency=medium + + [ Matthias Klose ] + * Further limit the number of parallel processes + * Don't build-depend on llvm-spirv-17 on armel and mipsel (LLVM 17 is not + yet built on these architectures). + * Fix stripping build flags on Ubuntu/ppc64el. + * libclang1-17: Only encode the major version in the soname. Closes: #1056126. + * libclang1-17: Provide a symlink for the last soname with the full version. + * Restore the patch for D148945, searching /usr/lib/llvm-17/lib by default. + Closes: #1056580. + + [ Sylvestre Ledru ] + * New upstream release + * Add a symlink for libc++experimental.a to /usr/lib/*/libc++experimental.a + to fix https://github.com/llvm/llvm-project/issues/72753 + * try to relax the wasi-libc dep declaration for apt.llvm.org + * add a check that, if we are going to build wasm, wasi-libc is installed + on the system + + [ John Paul Adrian Glaubitz ] + * Don't install *clang_rt* on sparc and sparc64 + + -- Sylvestre Ledru Tue, 28 Nov 2023 11:43:43 +0100 + +llvm-toolchain-17 (1:17.0.5-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Don't run chrpath for libclang on sparc and sparc64 + + [ Matthias Klose ] + * Build-depend on llvm-spirv-17. + + [ Sylvestre Ledru ] + * New upstream release + + -- Sylvestre Ledru Tue, 14 Nov 2023 11:27:22 +0100 + +llvm-toolchain-17 (1:17.0.2-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 03 Oct 2023 09:18:45 +0200 + +llvm-toolchain-17 (1:17.0.1-1~exp2) experimental; urgency=medium + + * Also remove omp from cmake file (Closes: #1052533) + + -- Gianfranco Costamagna Thu, 28 Sep 2023 11:24:39 +0200 + +llvm-toolchain-17 (1:17.0.1-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 19 Sep 2023 10:43:02 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp6) experimental; urgency=medium + + * Enable again python3-lldb on bionic (apt.llvm.org) + + -- Sylvestre Ledru Mon, 18 Sep 2023 11:22:37 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp5) experimental; urgency=medium + + * debian/patches/D158066.patch: + - cherry-pick change from 1:16.0.6-11 + * Make sure at least spirv 17 is used, FTBFS with older version + + -- Gianfranco Costamagna Tue, 12 Sep 2023 08:51:38 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp4) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Don't depend on spirv, the version 16 is too old to work + + [ Sylvestre Ledru ] + * Also ignore "-mbranch-protection=standard" (used on arm64) + + -- Sylvestre Ledru Fri, 08 Sep 2023 13:49:38 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp3) experimental; urgency=medium + + * Update control file + * Fixup build failures from 16 branch + + -- Gianfranco Costamagna Thu, 07 Sep 2023 23:04:28 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp2) experimental; urgency=medium + + * Strip -fcf-protection for wasm build - new flag added in dpkg 1.22 + * Explicitly depend on libcurl4-openssl-dev + Thanks to Samuel Henrique for the fix + + -- Sylvestre Ledru Wed, 06 Sep 2023 22:44:15 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc4-1~exp1) experimental; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable wasm support on powerpc and powerpcspe + * Remove powerpc from BINUTILS_GOLD_ARCHS again + + [ Sylvestre Ledru ] + * new upstream release + * Disable python3-lldb on mips64el to unbreak the build + + -- Sylvestre Ledru Tue, 05 Sep 2023 14:30:50 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 22 Aug 2023 19:22:57 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc2-1~exp2) UNRELEASED; urgency=medium + + * debian/tests/control: update gcc to 10 => 13 + + -- Sylvestre Ledru Sat, 19 Aug 2023 10:07:19 +0200 + +llvm-toolchain-17 (1:17.0.0~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release: + * Fix the libclang-rt-17-dev: ships + /usr/lib[...]/wasi/libclang_rt.builtins-wasm*.a, already in + libclang-rt-17-dev-wasm* (closes: #1041388) + * Also install llvm-debuginfod in llvm-X.Y + * Fix for real the libclang-rt-17-dev issue + + -- Sylvestre Ledru Tue, 15 Aug 2023 19:25:12 +0000 + +llvm-toolchain-snapshot (1:17~++20230723074821+3ebe606592fb-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + + -- Sylvestre Ledru Sun, 23 Jul 2023 19:48:42 +0200 + +llvm-toolchain-snapshot (1:17~++20230709044550+c54ff51be9c1-1~exp1) experimental; urgency=medium + + * Install usr/lib/llvm-17/lib/clang/17/include/llvm_libc_wrappers/*.h + in libclang-common-X.Y-dev + * fix the libclang & libomp5 symbol files + * Add new symbol to libclang1: + clang_CXXMethod_isExplicit + clang_createIndexWithOptions + clang_getBinaryOperatorKindSpelling + clang_getCursorBinaryOperatorKind + clang_getCursorUnaryOperatorKind + clang_getUnaryOperatorKindSpelling + + [ Samuel Thibault ] + * Fix hurd build by fixing Linux-specific lines. + + -- Sylvestre Ledru Sun, 09 Jul 2023 15:15:34 +0200 + +llvm-toolchain-snapshot (1:17~++20230701095046+dc6c8b8d1e35-1~exp1) experimental; urgency=medium + + * llvm-debuginfod not installed anymore + https://github.com/llvm/llvm-project/commit/8ac330bde40e9e0a0b2d0708ba6c7888fb1ce225 + * New snapshot release + * Yet a new element (omp) to disable in cmake detection. Upstream #62622 + * remove some mlir example (libMyExtensionCh*.a) + * Try to pass MAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER + in CLANG_BOOTSTRAP_PASSTHROUGH for sccache in stage2 + * Disable python3-lldb-17 for buster (it has been this way for a while) + * Try to workaround issue 63613 + + -- Sylvestre Ledru Tue, 04 Jul 2023 13:16:48 +0200 + +llvm-toolchain-snapshot (1:17~++20230128060150+75153adeda1a-1~exp1) experimental; urgency=medium + + * Snapshot is now 17 + * ship libHLFIRTransforms & libHLFIRDialect in libflang + * Also install liborc_rt-x86_64.a in libclang-rt + * Adjust some path since upstream changed the path from + /usr/lib/llvm-16/lib/clang/16.0.0/ to + /usr/lib/llvm-16/lib/clang/16/ + * Workaround some missing files on buster + * Replace LLVM_CONFIG by LLVM_CMAKE_DIR + * Bring back -DBUILTINS_CMAKE_ARGS & -DRUNTIMES_CMAKE_ARGS options + https://github.com/llvm/llvm-project/issues/59097 + * unbreak a symlink to fix to libclang + * Add a symlink /usr/lib/x86_64-linux-gnu/{libclang-16.so.16.0.0 => libclang-16.so.1} + Expected by program like the firefox build system + * ship amdgpu-arch & nvptx-arch in clang-tools + * ship llvm-omp-kernel-replay in libomp-X.Y-dev + * Disable flang on s390x. Seems that it is breaking + * compiler-rt: Only build liborc on amd64, i386 & arm64 + * Don't build omptarget on i386 + + -- Sylvestre Ledru Sat, 28 Jan 2023 18:07:40 +0100 + +llvm-toolchain-16 (1:16.0.6-18) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Upload to sid + + [ Sylvestre Ledru ] + * Change the logic to disable SPIRV. Disable it on most of the versions because + it needs llvm-spirv-16. + Enabled on trixie/sid, Ubuntu Mantic + FAILED: spirv-mesa3d-.spv /build/source/libclc/build/spirv-mesa3d-.spv + cd /build/source/libclc/build && /usr/bin/llvm-spirv-15 + --spirv-max-version=1.1 -o spirv-mesa3d-.spv builtins.link.spirv-mesa3d-.bc + Unknown attribute kind (86) (Producer: 'LLVM16.0.6' Reader: 'LLVM 15.0.6') + * For Ubuntu bionic, improve the deactivation of lldb python + + [ Steve Langasek ] + * Add noble as supported Ubuntu release + + [ John Paul Adrian Glaubitz ] + * Don't run chrpath for libclang on sparc and sparc64 + + [ Sylvestre Ledru ] + + -- Sylvestre Ledru Sat, 11 Nov 2023 09:57:35 +0100 + +llvm-toolchain-16 (1:16.0.6-17exp1) experimental; urgency=medium + + * Fixup the move from all to any + * Update debian/README documentation + + -- Gianfranco Costamagna Tue, 24 Oct 2023 12:38:21 +0200 + +llvm-toolchain-16 (1:16.0.6-17) unstable; urgency=medium + + * Try to fix the wasm path detection (Closes: #1052002) + + -- Sylvestre Ledru Thu, 19 Oct 2023 22:37:29 +0200 + +llvm-toolchain-16 (1:16.0.6-16) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Make libclang-common-16-dev arch:any (Closes: #1041455) + It was arch:all because all the code isn't arch dependent + However, it causes issues for cross build. + So, back to any and libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}) + instead of source + + [ Sylvestre Ledru ] + * Bring back old version of spirv - necessary for apt.llvm.org + + [ Alexandre Detiste ] + * Remove python-six as dep + + [ Li Chen ] + * Add support for loongarch64 (Closes: #1053658) + * Cherry-pick upstream patch D142688 to fix the build failure on loong64 + (Closes: #1053655) + + [ Matthias Klose ] + * Disable the clc and wasm builds when not building binary indep packages. + * Limit the parallel links to 2 on riscv64. + * d/rules: Be less noisy when building without grpc. + + -- Sylvestre Ledru Sun, 08 Oct 2023 09:11:38 +0200 + +llvm-toolchain-16 (1:16.0.6-15) unstable; urgency=medium + + * Second attempt to refresh D158066.patch (Closes: #1049362) + (SIMD compatibility headers on ppc64el) + + -- Gianfranco Costamagna Mon, 11 Sep 2023 15:40:42 +0200 + +llvm-toolchain-16 (1:16.0.6-14) unstable; urgency=medium + + [ Sylvestre Ledru ] + * On bionic & buster, for apt.llvm.org, pass -DLLVM_ENABLE_ZSTD=OFF + as libzstd is too old + + [ Gianfranco Costamagna ] + * Add i386 and mips64el to spirv architectures. + + -- Gianfranco Costamagna Sun, 10 Sep 2023 08:14:36 +0200 + +llvm-toolchain-16 (1:16.0.6-13) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Also runtime-depend on {libzstd,zlib1g}-dev, from Paravoid (Closes: + #1047718) + + [ Sylvestre Ledru ] + * Strip -fcf-protection for wasm build - new flag added in dpkg 1.22 + + -- Sylvestre Ledru Thu, 07 Sep 2023 13:01:14 +0200 + +llvm-toolchain-16 (1:16.0.6-12) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable wasm support on powerpc and powerpcspe + * Remove powerpc from BINUTILS_GOLD_ARCHS again + + [ Sylvestre Ledru ] + * Disable python3-lldb on mips64el to unbreak the build + + -- Sylvestre Ledru Sun, 03 Sep 2023 14:06:19 +0200 + +llvm-toolchain-16 (1:16.0.6-11) unstable; urgency=medium + + * debian/patches/D158066.patch: + - upstream fix for Debian bug: #1049362 + * Also build-depend on libzstd-dev (Closes: #1047718) + * Explicitly depend on libcurl4-openssl-dev, since nss is being removed. + (Closes: #1043552) + + -- Gianfranco Costamagna Thu, 17 Aug 2023 10:19:13 +0200 + +llvm-toolchain-16 (1:16.0.6-10) unstable; urgency=medium + + * update test to depend on libstdc++-13-dev + * Also ignore mlir test on armel, hang + + -- Gianfranco Costamagna Mon, 07 Aug 2023 11:01:06 +0200 + +llvm-toolchain-16 (1:16.0.6-9) unstable; urgency=medium + + * Really enable spirv, and disable spirv on mips* since it's not yet + bootstrapped. Thanks for the patch + + -- Gianfranco Costamagna Thu, 03 Aug 2023 14:20:06 +0200 + +llvm-toolchain-16 (1:16.0.6-8) unstable; urgency=medium + + * Make sure flang-16 depends on libflang-16-dev (Closes: #1041202) + + -- Gianfranco Costamagna Wed, 02 Aug 2023 09:30:36 +0200 + +llvm-toolchain-16 (1:16.0.6-7) unstable; urgency=medium + + * Use spirv-16 to build llvm. This should fix libclc-16 content + and fix mesa build + * Don't reduce parallel builds anymore on riscv64 + + -- Gianfranco Costamagna Wed, 02 Aug 2023 09:10:31 +0200 + +llvm-toolchain-16 (1:16.0.6-6) unstable; urgency=medium + + * Do the delete of wasi in libclang-rt regardless (Closes: #1041834) + + -- Sylvestre Ledru Mon, 24 Jul 2023 08:29:14 +0200 + +llvm-toolchain-16 (1:16.0.6-5) unstable; urgency=medium + + [ Samuel Thibault ] + * Fix hurd build by fixing Linux-specific lines. + * Fix wasi-libc build-deps on i386 !linux-i386 + + [ Sylvestre Ledru ] + * set -DCMAKE_SYSTEM_NAME=Generic to build wasm to fix upstream #63799 + + -- Sylvestre Ledru Tue, 11 Jul 2023 22:28:59 +0200 + +llvm-toolchain-16 (1:16.0.6-4) unstable; urgency=medium + + * lldb-16: lldb no longer depend on llvm-dev (Closes: #1039490) + * Unbreak the libclang links (Closes: #1040205) + And add tests to make sure we don't regress + * Fix the libclang-16.so symbol file + * Remove broken symlinks (closes: #857680) + + -- Sylvestre Ledru Sun, 09 Jul 2023 15:08:24 +0200 + +llvm-toolchain-16 (1:16.0.6-3) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Only pass -Bno-symbolic if it exists + + [ Gianfranco Costamagna ] + * Revert LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI change, + FTBFS on arm*. + + -- Gianfranco Costamagna Tue, 27 Jun 2023 08:58:16 +0200 + +llvm-toolchain-16 (1:16.0.6-2) unstable; urgency=medium + + * Remove debian/NEWS to fix debian-news-entry-has-unknown-version + * Fix libomp-16-doc: documentation-package-not-architecture-independent + * Fix llvm-16-dev: depends-on-obsolete-package Depends: libtinfo-dev => libncurses-dev + * Enable Xtensa experimental backend (Closes: #1033911) + * Fix the path /usr/lib/llvm-16/lib/clang/16/ (Closes: #1036623) + * Refresh the list of symbol of libclang1-16 + * Refresh the list of symbol for libomp.so.5 + * Add symbols files for libomptarget.rtl* and libomptarget.so + + [ Gianfranco Costamagna ] + * Try to unbreak HURD + * Add back powerpc to gold architectures + * Use bfd linker on p*pc* + + -- Sylvestre Ledru Wed, 14 Jun 2023 08:06:04 +0200 + +llvm-toolchain-16 (1:16.0.6-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Wed, 14 Jun 2023 08:06:04 +0200 + +llvm-toolchain-16 (1:16.0.5-1) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Add patch from llvm-15 (Graham Inggs) to update Ubuntu releases names + to include Ubuntu mantic + + [ Sylvestre Ledru ] + * Upload to unstable + + -- Sylvestre Ledru Sun, 11 Jun 2023 13:15:48 +0200 + +llvm-toolchain-16 (1:16.0.5-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Sat, 03 Jun 2023 12:00:55 +0200 + +llvm-toolchain-16 (1:16.0.4-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Wed, 17 May 2023 09:25:29 +0200 + +llvm-toolchain-16 (1:16.0.3-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Wed, 03 May 2023 10:38:19 +0200 + +llvm-toolchain-16 (1:16.0.2-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Sat, 22 Apr 2023 22:57:25 +0200 + +llvm-toolchain-16 (1:16.0.1-1~exp2) experimental; urgency=medium + + [ Sylvestre Ledru ] + * cherry pick changes from snapshot for sccache + + [ Gianfranco Costamagna ] + * Use parallel=2 on riscv64 + * Add omptarget again to optional interfaces (Closes: #1033933) + * Adapt test when llvm is built without Z3 support (error message changed) + + -- Gianfranco Costamagna Tue, 11 Apr 2023 14:09:36 +0200 + +llvm-toolchain-16 (1:16.0.1-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Wed, 05 Apr 2023 13:25:21 +0200 + +llvm-toolchain-16 (1:16.0.0-1~exp5) experimental; urgency=medium + + * Don't ship liborc on armel too + * Install ASAN symbolize on riscv64 + * Limit parallel building to 3 on riscv64, should speed up extremely slow builds due to too many concurrent threads + + -- Gianfranco Costamagna Mon, 27 Mar 2023 08:53:13 +0200 + +llvm-toolchain-16 (1:16.0.0-1~exp4) experimental; urgency=medium + + * Use 16 for wasm libs instead of 16.0.0 + https://github.com/llvm/llvm-project/issues/61550 + + -- Sylvestre Ledru Wed, 22 Mar 2023 23:36:45 +0100 + +llvm-toolchain-16 (1:16.0.0-1~exp3) experimental; urgency=medium + + * Revert gold linker on riscv64, FTBFS + + -- Gianfranco Costamagna Tue, 21 Mar 2023 11:27:33 +0100 + +llvm-toolchain-16 (1:16.0.0-1~exp2) experimental; urgency=medium + + [ Matthias Klose ] + * Install liborc_rt-armhf.a on armhf. + * Don't ship gdb scripts for ompd on armhf. + * Don't run MLIR tests on armhf, timeouts on the buildds. + + [ Gianfranco Costamagna ] + * Try to use gold linker on riscv64, to see if the build goes to + the end successfully + + -- Gianfranco Costamagna Tue, 21 Mar 2023 09:41:39 +0100 + +llvm-toolchain-16 (1:16.0.0-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Sat, 18 Mar 2023 21:41:44 +0100 + +llvm-toolchain-16 (1:16.0.0~+rc4-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Sat, 11 Mar 2023 10:50:01 +0100 + +llvm-toolchain-16 (1:16.0.0~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Wed, 22 Feb 2023 09:22:05 +0100 + +llvm-toolchain-16 (1:16.0.0~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Wed, 08 Feb 2023 19:40:52 +0100 + +llvm-toolchain-16 (1:16.0.0~+rc1-1~exp1) experimental; urgency=medium + + * First rc of 16 + * Branching of 16 (snapshot is now 17) + * ship libHLFIRTransforms & libHLFIRDialect in libflang + * Also install liborc_rt-x86_64.a in libclang-rt + * Adjust some path since upstream changed the path from + /usr/lib/llvm-16/lib/clang/16.0.0/ to + /usr/lib/llvm-16/lib/clang/16/ + * Workaround some missing files on buster + * Replace LLVM_CONFIG by LLVM_CMAKE_DIR + * Bring back -DBUILTINS_CMAKE_ARGS & -DRUNTIMES_CMAKE_ARGS options + https://github.com/llvm/llvm-project/issues/59097 + * unbreak a symlink to fix to libclang + * Add a symlink /usr/lib/x86_64-linux-gnu/{libclang-16.so.16.0.0 => libclang-16.so.1} + Expected by program like the firefox build system + * ship amdgpu-arch & nvptx-arch in clang-tools + * ship llvm-omp-kernel-replay in libomp-X.Y-dev + * Disable flang on s390x. Seems that it is breaking + * compiler-rt: Only build liborc on amd64, i386 & arm64 + * Don't build omptarget on i386 + + -- Sylvestre Ledru Sat, 19 Nov 2022 10:16:49 +0100 + +llvm-toolchain-16 (1:16~++20230115053056+df5fc4504b86-1~exp2) UNRELEASED; urgency=medium + + * Don't build omptarget on armhf either + + -- Sylvestre Ledru Mon, 30 Jan 2023 10:09:21 +0100 + +llvm-toolchain-snapshot (1:16~++20221111053703+a77a02aa5794-1~exp1) experimental; urgency=medium + + * New snapshot release + * mlir: Disable test on i386 because of + https://github.com/llvm/llvm-project/issues/58357 + * Install llvm-debuginfo-analyzer in llvm-X.Y + * Install clang-include-cleaner in clang-tools-X.Y + * Build of openmp: use PROJECTS instead of RUNTIMES + See https://github.com/llvm/llvm-project/issues/58219 + * Install usr/lib/llvm-16/include/__libunwind_config.h + usr/lib/llvm-16/include/libunwind.h + usr/lib/llvm-16/include/mach-o/compact_unwind_encoding.h + usr/lib/llvm-16/include/unwind.h + usr/lib/llvm-16/include/unwind_arm_ehabi.h + usr/lib/llvm-16/include/unwind_itanium.h + in libunwind-X.Y-dev + * Install llvm-bat-dump in bolt-X.Y + * disable-openmpd.diff: Disable the test of openmpd + because of https://github.com/llvm/llvm-project/issues/58941 + + -- Sylvestre Ledru Fri, 11 Nov 2022 17:43:40 +0100 + +llvm-toolchain-snapshot (1:16~++20220830053930+25fdcb8e6ce3-1~exp1) experimental; urgency=medium + + * Main is now 16. A branch for 15 has been created + * clang doesn't have a specific SONAME anymore. + See https://reviews.llvm.org/D129160 for the rational + * Install clang-tblgen in clang-tools-X.Y + * For apt.llvm.org on stretch, from snapshot, also use libc++ for the + build. It adds a dependency on libc++. It might be extended in + the future for for now, it is Debian/stretch only + * Remove clang-offload-wrapper & clang-nvlink-wrapper like upstream + * Set CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION to make sure that version of + libclang == clang. this to simplify the packaging, the coinstability + and to have more consistency. + * Install usr/lib/llvm-@LLVM_VERSION@/share/gdb/python/ompd/ in libomp-16-dev + * Remove ompt-multiplex.h from libomp + * Install llvm-remarkutil in llvm-X.Y + * Don't build libclc-16 as it needs a more recent version of llvm-spirv + + -- Sylvestre Ledru Tue, 30 Aug 2022 17:40:55 +0200 + +llvm-toolchain-snapshot (1:16~++20220731055325+02b3a358926e-1~exp1) experimental; urgency=medium + + * Main is now 16. A branch for 15 has been created + * clang doesn't have a specific SONAME anymore. + See https://reviews.llvm.org/D129160 for the rational + + -- Sylvestre Ledru Wed, 27 Jul 2022 21:36:27 +0200 + +llvm-toolchain-15 (1:15.0.7-6) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Only pass -Bno-symbolic if it exists + + [ Gianfranco Costamagna ] + * Revert LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI change, + FTBFS on arm*. + + -- Sylvestre Ledru Mon, 26 Jun 2023 10:13:40 +0200 + +llvm-toolchain-15 (1:15.0.7-5) unstable; urgency=medium + + [ Graham Inggs ] + * debian/patches/ubuntu-releases.patch: Update the list of + Ubuntu release names + + [ Gianfranco Costamagna ] + * Add powerpc to GOLD architectures + * Cherry-pick upstream fix for newer cmake-related build failure + * Cherry-pick upstream fix for HIP search path depending on os-release (Closes: #1037452) + + [ Steve Langasek ] + * debian/rules: disable -Wl,-Bsymbolic-functions for libomp. LP: #2016471. + + -- Gianfranco Costamagna Sat, 24 Jun 2023 20:04:59 +0200 + +llvm-toolchain-15 (1:15.0.7-5~exp2) experimental; urgency=medium + + * Also apply the workaround of issue #62621 for focal + and to include libpolly-15-dev + + -- Sylvestre Ledru Sat, 10 Jun 2023 11:52:14 +0200 + +llvm-toolchain-15 (1:15.0.7-5~exp1) experimental; urgency=medium + + * Remove old code to manage Debian stretch + * Force the replacement of new Ubuntu packages introduced in + https://bugs.launchpad.net/ubuntu/+source/llvm-toolchain-15/+bug/2008755 + * Adjust LIBCXXABI_ARM_EHABI => _LIBCXXABI_ARM_EHABI + Issue: https://github.com/llvm/llvm-project/issues/59240 + + -- Sylvestre Ledru Sun, 04 Jun 2023 11:35:54 +0200 + +llvm-toolchain-15 (1:15.0.7-4) unstable; urgency=medium + + * Fix debian/libclang1-15.symbols soname + * Remove build artifacts if any + + -- Sylvestre Ledru Wed, 15 Mar 2023 21:45:46 +0100 + +llvm-toolchain-15 (1:15.0.7-3) unstable; urgency=medium + + * Disable the flang autopkgtests on unsupported architectures + + -- Sylvestre Ledru Sun, 12 Mar 2023 11:19:54 +0100 + +llvm-toolchain-15 (1:15.0.7-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Yeah, we would like to have this version in bookworm + (Closes: #1032316) + * Adjust some lintian overrides + * Disable flang on s390x. Seems that it is breaking + + [ Gianfranco Costamagna ] + * Update print lldb python patch, following what was done + in automake for newer python + + [ Samuel Thibault ] + * Fix disabling amdgpu on non-Linux. + + [ John Paul Adrian Glaubitz ] + * Don't run chrpath for libclang on powerpc and powerpcspe + + [ Faidon Liambotis ] + * Update the wasm-sysroot-usr.diff patch to restore functionality that was + accidentally dropped when the patch was forward-ported from 14 to 15. This + resolves an issue in which clang++ builds would fail if libc++-15-dev was + installed alongside libc++-15-dev-wasm32. (Closes: #1029010, #1032317) + + [ Cordell Bloor ] + * Backport support for HIP in /usr and add Debian paths + for rocm-device-libs to search list (Closes: #1031808) + + -- Sylvestre Ledru Sun, 15 Jan 2023 10:54:41 +0100 + +llvm-toolchain-15 (1:15.0.7-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + + -- Sylvestre Ledru Fri, 13 Jan 2023 15:12:11 +0100 + +llvm-toolchain-15 (1:15.0.7-1) unstable; urgency=medium + + * New upstream release + * Upload to unstable + + -- Sylvestre Ledru Sun, 08 Jan 2023 12:31:57 +0100 + +llvm-toolchain-15 (1:15.0.6-5~exp3) experimental; urgency=medium + + * Don't always build flang + + -- Sylvestre Ledru Sat, 07 Jan 2023 23:46:18 +0100 + +llvm-toolchain-15 (1:15.0.6-5~exp2) experimental; urgency=medium + + * Restrict flang on 64bits archs: + (amd64 arm64 mips64el ppc64el kfreebsd-amd64 s390x ppc64 sparc64 riscv64) + See: https://github.com/llvm/llvm-project/issues/59845 + + -- Sylvestre Ledru Fri, 06 Jan 2023 13:19:48 +0100 + +llvm-toolchain-15 (1:15.0.6~++20230102020141+088f33605d8a-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + + -- Sylvestre Ledru Mon, 02 Jan 2023 14:01:53 +0100 + +llvm-toolchain-15 (1:15.0.6-5~exp1) experimental; urgency=medium + + * Add flang-15 and libraries support + * Several changes coming from the branch -14: + * wasm support significantly improved with several packages: + - libc++-15-dev-wasm32 + - libc++abi-15-dev-wasm32 + - libclang-rt-15-dev-wasm32 + - libclang-rt-15-dev-wasm64 + It is now as easy as: + $ apt install clang-15 lld-15 libclang-rt-15-dev-wasm32 wasi-libc + $ clang-15 --target=wasm32-wasi helloworld.c -o helloworld.wasm + Many thanks to Faidon Liambotis + * libclang-common-15-dev split into different packages: + - libclang-rt-15-dev + - libpolly-15-dev + - libclang-rt-15-dev-wasm32 + - libclang-rt-15-dev-wasm64 + + -- Sylvestre Ledru Tue, 03 Jan 2023 00:40:25 +0100 + +llvm-toolchain-15 (1:15.0.6-4) unstable; urgency=medium + + * link-grpc.diff: add the detection of other libs necessary for + grpc (Closes: #1025530) + + -- Sylvestre Ledru Sun, 01 Jan 2023 15:46:39 +0100 + +llvm-toolchain-15 (1:15.0.6-3) unstable; urgency=medium + + * Build on spirv-15 for riscv64 too. + + -- Gianfranco Costamagna Wed, 30 Nov 2022 16:15:42 +0100 + +llvm-toolchain-15 (1:15.0.6-2) unstable; urgency=medium + + * Fix build on riscv64 by disabling WASM for now. + * Explicitly depend on spirv-14 for riscv64, to bootstrap spirv there. + + -- Gianfranco Costamagna Wed, 30 Nov 2022 15:31:52 +0100 + +llvm-toolchain-15 (1:15.0.6-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 29 Nov 2022 15:25:58 +0100 + +llvm-toolchain-15 (1:15.0.5-5) unstable; urgency=medium + + * Add riscv64 to spirv-15 supported list, now that the bootstrap is + finished. + + -- Gianfranco Costamagna Tue, 22 Nov 2022 12:41:35 +0100 + +llvm-toolchain-15 (1:15.0.5-4) unstable; urgency=medium + + * Explicitly depend on spirv-14 for riscv64, to bootstrap spirv there. + + -- Gianfranco Costamagna Tue, 22 Nov 2022 10:58:27 +0100 + +llvm-toolchain-15 (1:15.0.5-3) unstable; urgency=medium + + * Depend again on spirv-15 for mips64el. + + -- Gianfranco Costamagna Sun, 20 Nov 2022 06:54:23 +0100 + +llvm-toolchain-15 (1:15.0.5-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Add libomp target library to mips64el (Closes: #1023101) + * Explicitly depend on spirv-14 for mips64el, to ease bootstrapping + on buildds (this should be dropped once we build a spirv-15 in archive) + * Cherry-pick two upstream patches to unblock mesa build on arm* (Closes: + #1022577) + + [ Sylvestre Ledru ] + * store the sccache results in /tmp/buildd/source/sccache-stats.json + + -- Gianfranco Costamagna Sat, 19 Nov 2022 23:25:04 +0100 + +llvm-toolchain-15 (1:15.0.5-1) unstable; urgency=medium + + * New upstream release + * Remove the swig patches (applied upstream) + + -- Sylvestre Ledru Wed, 16 Nov 2022 09:11:01 +0100 + +llvm-toolchain-15 (1:15.0.4-1) unstable; urgency=medium + + [ Jordan Justen ] + * d/rules: Rename LLVM_SPIR_VERSION to LLVM_SPIRV_VERSION + * d/rules: Call bash to use 'command -v' to locate llvm-spirv executable + * debian: Bump llvm-spirv to 15 to match the llvm version + * d/rules: Set LLVM_SPIRV with cmake for libclc + * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV + * d/rules: Restore building libclc .bc output without spir-v support + * d/rules: Check for previous version of llvm-spirv as well + * d/control: Add llvm-spirv-14 as an alternative to llvm-spirv-15 + + [ Sylvestre Ledru ] + * New upstream release (Closes: #1023455) + * Cherry-pick patches to fix the FTBFS with swig + lldb (Closes: #1023444) + + -- Sylvestre Ledru Wed, 02 Nov 2022 08:50:23 +0100 + +llvm-toolchain-15 (1:15.0.3-2) unstable; urgency=medium + + * Cherry-pick upstream fix to unbreak mips (closes: #1022169) + Thanks to YunQiang Su for the patch + https://reviews.llvm.org/D135553 + + -- Sylvestre Ledru Fri, 28 Oct 2022 10:25:45 +0200 + +llvm-toolchain-15 (1:15.0.3-1) unstable; urgency=medium + + * Upload to unstable now that autopkgtest is green + + -- Sylvestre Ledru Sun, 23 Oct 2022 10:34:58 +0200 + +llvm-toolchain-15 (1:15.0.3-1~exp2) experimental; urgency=medium + + * Fix autopkgtest (remove move stuff from the cmake search) + + -- Sylvestre Ledru Fri, 21 Oct 2022 23:53:23 +0200 + +llvm-toolchain-15 (1:15.0.3-1~exp1) experimental; urgency=medium + + * New stable release + + -- Sylvestre Ledru Tue, 18 Oct 2022 14:04:32 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp6) experimental; urgency=medium + + * Disable LTO for now + * don't search for llvm-bolt, merge-fdata, etc in cmake + https://github.com/llvm/llvm-project/issues/58317 + + -- Sylvestre Ledru Wed, 12 Oct 2022 16:19:03 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp5) experimental; urgency=medium + + * Only enable LTO for some archs + + -- Sylvestre Ledru Tue, 11 Oct 2022 09:15:56 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp4) experimental; urgency=medium + + * Only ship libbolt_rt_hugify.a & libbolt_rt_instr.a on amd64 + * fix the cmake detection with libmlir + + -- Sylvestre Ledru Sun, 09 Oct 2022 20:09:46 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp3) experimental; urgency=medium + + * Build using LTO - better performances of the llvm-toolchain + binaires + * Build libfuzzer with C++ 17 ot unbreak it + + -- Sylvestre Ledru Sat, 08 Oct 2022 15:06:37 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp2) experimental; urgency=medium + + * Fix a typo to silent lintian (Closes: #1018770) + * Fix some hardcoded paths (Closes: #1020847) + * Suggest wasi-libc for clang + + [ Witold Baryluk ] + * Allow libunwind-dev to be coinstallable (Closes: #1004112) + + [ Faidon Liambotis ] + * Add better support for the WebAssembly (wasm32/wasm64) targets: + - Ship compiler-rt for the wasm32 and wasm64 targets. (Closes: #1010932) + - Add patch wasm-compiler-rt-default.diff to default to compiler-rt for + these targets. libgcc does not currently exist for WebAssembly in neither + Debian nor upstream, and therefore compiler-rt is the only option. + - Add patch wasm-sysroot-usr.diff to support a system-installed (i.e. shipped + in /usr) wasi-libc. (Closes: #1020746) + + -- Sylvestre Ledru Thu, 06 Oct 2022 17:04:24 +0200 + +llvm-toolchain-15 (1:15.0.2-2~exp1) experimental; urgency=medium + + * Ship bolt + + -- Sylvestre Ledru Tue, 04 Oct 2022 15:21:19 +0200 + +llvm-toolchain-15 (1:15.0.2-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 04 Oct 2022 12:46:25 +0200 + +llvm-toolchain-15 (1:15.0.1-1) unstable; urgency=medium + + * Upload to unstable now that we have removed 12 from the archive + + -- Sylvestre Ledru Tue, 04 Oct 2022 09:24:55 +0200 + +llvm-toolchain-15 (1:15.0.1-1~exp2) experimental; urgency=medium + + * Unbreak the clang symlink. See + https://github.com/llvm/llvm-project/issues/57857 + + -- Sylvestre Ledru Wed, 21 Sep 2022 00:20:54 +0200 + +llvm-toolchain-15 (1:15.0.1-1~exp1) experimental; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 20 Sep 2022 08:55:01 +0200 + +llvm-toolchain-15 (1:15.0.0-2) experimental; urgency=medium + + * Fix build on ppc64 and riscv64 (Closes: #1019582) + + -- Gianfranco Costamagna Mon, 12 Sep 2022 17:58:08 +0200 + +llvm-toolchain-15 (1:15.0.0-1~exp1) experimental; urgency=medium + + * New stable release + * syscall-mips64el-def.diff: fix the call to undeclared function 'syscall'; + on mips + + -- Sylvestre Ledru Tue, 06 Sep 2022 09:13:19 +0200 + +llvm-toolchain-15 (1:15.0.0~+rc3-1~exp2) experimental; urgency=medium + + * Update of the build dep from llvm-spirv => llvm-spirv-14 + as it is now versioned. It should build libclc + + -- Sylvestre Ledru Wed, 31 Aug 2022 17:10:33 +0200 + +llvm-toolchain-15 (1:15.0.0~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * For Debian Stretch for apt.llvm.org, use clang-14 to build + itself as gcc 7 isn't available + + -- Sylvestre Ledru Thu, 25 Aug 2022 13:32:14 +0200 + +llvm-toolchain-15 (1:15.0.0~+rc2-1~exp1) experimental; urgency=medium + + * Second testing release of 15 + + -- Sylvestre Ledru Tue, 09 Aug 2022 17:47:53 +0200 + +llvm-toolchain-15 (1:15.0.0~+rc1-1~exp1) experimental; urgency=medium + + * First testing release of 15 + * Remove 'debian/patches/revert-openmp-path.diff' + applied upstream + + -- Sylvestre Ledru Mon, 01 Aug 2022 09:30:39 +0200 + +llvm-toolchain-15 (1:15~++20220727091640+d77882e66779-1~exp1) experimental; urgency=medium + + * main is now 16. Creating a branch for 15. + * clang doesn't have a specific SONAME anymore. + See https://reviews.llvm.org/D129160 for the rational + + -- Sylvestre Ledru Wed, 27 Jul 2022 09:27:50 +0200 + +llvm-toolchain-snapshot (1:15~++20220724113059+7feab85df8e8-1~exp1) experimental; urgency=medium + + * New snapshot release + * Force the SSE2 on amd64 for compiler-rt/builtin: + https://reviews.llvm.org/D107082#3626632 + * Ship llvm-debuginfod & llvm-dwarfutil in llvm-X.Y + * Install usr/lib/llvm-15/lib/libomptarget.so.15 in libomp5-15 + And libomptarget.rtl.amdgpu.so.15, libomptarget.rtl.cuda.so.15 and + libomptarget.rtl.x86_64.so.15 + * Add usr/lib/llvm-15/lib/libomptarget.devicertl.a to libomp-X-dev + only for [amd64 ppc64el arm64] + * On Debian Buster, unwind fails to link because pthread & dl aren't found. + Force the declaration as it is probably the case for every Debian & Ubuntu anyway. + See unwind-force-pthread-dl.diff & https://github.com/llvm/llvm-project/issues/55629 + * Install llvm-driver-template.cpp.in in llvm-X.Y-dev + * Remove debian/patches/x86-fuzzer.patch (done differently upstream) + * Install UnicodeNameMappingGenerator in llvm-X.Y-tools + * Disable libclc when spir is below 14 + Explicit load/store type does not match pointee type of pointer operand (Producer: 'LLVM15.0.0' Reader: 'LLVM 13.0.1') + * Add the option -DLLVM_ENABLE_CURL=ON + See https://github.com/llvm/llvm-project/issues/55289 + * Install new binary clang-offload-packager in + clang-tools-15 + + [ John Paul Adrian Glaubitz ] + * Enable GRPC build dependency only on supported targets + * Disable compiler-rt built-ins on x32 + * Limit parallel link jobs for all stages on sparc and sparc64 + * Built compiler-rt for default target only on sparc and sparc64 + * Drop sparc64-specific patch D98574.patch + * Drop sparc64-specific patch D98575.patch + + [ Roman Lebedev ] + * Install new binary tblgen-lsp-server into mlir-15-tools + + [ Michael Biebl ] + * Add support for systemd-binfmt (Closes: #1012370) + + -- Sylvestre Ledru Sun, 24 Jul 2022 14:25:19 +0200 + +llvm-toolchain-snapshot (1:15~++20220309105819+8bef17ed59aa-1~exp1) experimental; urgency=medium + + * Try to unbreak the build (issue #54242) + MLIR undef issue + * New snapshot release + + -- Sylvestre Ledru Wed, 09 Mar 2022 22:58:29 +0100 + +llvm-toolchain-snapshot (1:15~++20220202093833+1a3137dc8451-1~exp1) experimental; urgency=medium + + * Install new llvm-remark-size-diff in llvm-X.Y + * Install clang-pseudo in clang-tools-X.Y + * mlir: use the cmake option to avoid installing object files + MLIR_INSTALL_AGGREGATE_OBJECTS + Closes upstream #53134 + * Build clangd with GRPC support + Thanks to Sam McCall for the patch + * snapshot is now 15. 14 is in it own branch now + * Ship clang-linker-wrapper in clang-tools-X.Y + + -- Sylvestre Ledru Sun, 13 Feb 2022 23:25:57 +0100 + +llvm-toolchain-14 (1:14.0.6-11) UNRELEASED; urgency=medium + + [ Sylvestre Ledru ] + * Update SV to 4.6.2 + * Disable libc++-$(LLVM_VERSION)-dev-wasm32 on old Debian & Ubuntu: + bionic buster focal bullseye jammy + either wasi-libc isn't available or too old or we face bug + https://sourceware.org/bugzilla/show_bug.cgi?id=27558 + * adjust the lintian override format with the [] + * hardcode a bit less sccache usage + + [ Gianfranco Costamagna ] + * Fix riscv64 build by adding spirv again (from @paravoid) + + -- Sylvestre Ledru Sun, 15 Jan 2023 09:40:55 +0100 + +llvm-toolchain-14 (1:14.0.6-10) unstable; urgency=medium + + * Upload to unstable + * Add missing epoch (Closes: #1027699) + + -- Sylvestre Ledru Sun, 01 Jan 2023 15:42:15 +0100 + +llvm-toolchain-14 (1:14.0.6-10~exp6) experimental; urgency=medium + + * Move libPolly in libpolly-X.Y-dev for real + + -- Sylvestre Ledru Sun, 01 Jan 2023 15:42:04 +0100 + +llvm-toolchain-14 (1:14.0.6-10~exp5) experimental; urgency=medium + + * Create a libpolly-X.Y-dev package + * Fix the libclang-rt-14-dev-wasm64 description + + -- Sylvestre Ledru Wed, 28 Dec 2022 12:35:04 +0100 + +llvm-toolchain-14 (1:14.0.6-10~exp4) experimental; urgency=medium + + * Move the compiler-rt content into a new package called + libclang-rt-X.Y-dev (including polly) + * the wasm targets are shipped into libclang-rt-14-dev-wasm32 + and libclang-rt-14-dev-wasm64 + * libclang-common-X.Y-dev arch moved to all + then ${binary:Version} => ${source:Version} + to avoid not-binnmuable-any-depends-all + * link-grpc.diff: add the detection of other libs necessary for + grpc (Closes: #1025529) + + -- Sylvestre Ledru Wed, 21 Dec 2022 13:48:40 +0100 + +llvm-toolchain-14 (1:14.0.6-10~exp3) experimental; urgency=medium + + * Transform debian/control into debian/control.in (preparation for + flang support) + * Do not install wasm-libc if doesn't exist + + [ Faidon Liambotis ] + * Try to unbreak the builds with wasm + + -- Sylvestre Ledru Mon, 19 Dec 2022 11:09:58 +0100 + +llvm-toolchain-14 (1:14.0.6-10~exp1) experimental; urgency=medium + + * More WebAssembly (wasm32/wasm64) work: + - Update patch wasm-sysroot-usr to stop including /usr/include when + building for the non-OS (unknown) wasm targets, to avoid inadvertently + including the host's (glibc) headers. + - Re-enable builds on all architectures, previously disabled for + arm64 armel mips64el mipsel ppc64el armhf in 1:14.0.6-4, due to an FTBFS + related to the /usr/include issue above. + - Update patch wasm-sysroot-usr to adjust system include paths for C++ + headers as well. + - Build libc++ and libc++abi for wasm32-wasi, generating two new binary + packages, and introducing a build dependency on wasi-libc. + - Misc code organization fixes to debian/rules. + + -- Faidon Liambotis Fri, 18 Nov 2022 08:21:02 +0200 + +llvm-toolchain-14 (1:14.0.6-9) unstable; urgency=medium + + * Cherry-pick upstream commit c081bf4098c729afacf20303cc9df62bf13c3362 + to fix chromium failure in basic_string (Closes: #1025394) + * Disable the MLIR testsuite run because of a freeze + (Closes: #1024154) + See https://github.com/llvm/llvm-project/issues/58357 + * Disable wasm on riscv64 + + -- Gianfranco Costamagna Sun, 04 Dec 2022 09:03:06 +0100 + +llvm-toolchain-14 (1:14.0.6-8) unstable; urgency=medium + + * Fix the lldb swig issues (closes: #1023444) + * Enable LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO to help with caching + * Adjust to protobuf 3.21 (Closes: #1023533) + + -- Sylvestre Ledru Fri, 04 Nov 2022 19:36:56 +0100 + +llvm-toolchain-14 (1:14.0.6-7) unstable; urgency=medium + + * Disable the cmake search for all binaries + (cmake_import_check_files_for.*/bin/). Dunno why it regressed + but we wasted too much time on this. + * disable sccache on bionic + + [ Jordan Justen ] + * d/rules: Call bash to use 'command -v' to location llvm-spirv executable + * d/rules: Set LLVM_SPIRV with cmake for libclc + * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV + * d/rules: Check for llvm-spirv with version suffix + + -- Sylvestre Ledru Thu, 27 Oct 2022 12:47:19 +0200 + +llvm-toolchain-14 (1:14.0.6-6) unstable; urgency=medium + + * Unbreak the cmake detection (Closes: #1021857, #1022414) + + -- Sylvestre Ledru Sun, 23 Oct 2022 16:07:45 +0200 + +llvm-toolchain-14 (1:14.0.6-5) unstable; urgency=medium + + * Update of the build dep llvm-spirv => llvm-spirv-14 + + -- Sylvestre Ledru Tue, 11 Oct 2022 08:39:18 +0200 + +llvm-toolchain-14 (1:14.0.6-4) unstable; urgency=medium + + * fix the cmake detection with libmlir + * Don't build wasm target on arm64 armel mips64el mipsel ppc64el armhf + for now + + -- Sylvestre Ledru Mon, 10 Oct 2022 13:47:25 +0200 + +llvm-toolchain-14 (1:14.0.6-3) unstable; urgency=medium + + * Fix a typo to silent lintian (Closes: #1018770) + * Fix some hardcoded paths (Closes: #1020847) + * Suggest wasi-libc for clang + + [ Witold Baryluk ] + * Allow libunwind-dev to be coinstallable (Closes: #1004112) + + [ Faidon Liambotis ] + * Add better support for the WebAssembly (wasm32/wasm64) targets: + - Ship compiler-rt for the wasm32 and wasm64 targets. (Closes: #1010932) + - Add patch wasm-compiler-rt-default.diff to default to compiler-rt for + these targets. libgcc does not currently exist for WebAssembly in neither + Debian nor upstream, and therefore compiler-rt is the only option. + - Add patch wasm-sysroot-usr.diff to support a system-installed (i.e. shipped + in /usr) wasi-libc. (Closes: #1020746) + + -- Sylvestre Ledru Tue, 30 Aug 2022 16:10:33 +0200 + +llvm-toolchain-14 (1:14.0.6-2) unstable; urgency=medium + + [ Sam McCall ] + * Add conventional symlink to libc++ headers in /usr/include/c++/v1 + See https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/95 + for more information + + -- Sylvestre Ledru Sat, 23 Jul 2022 23:01:02 +0200 + +llvm-toolchain-14 (1:14.0.6-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Sat, 25 Jun 2022 09:56:23 +0200 + +llvm-toolchain-14 (1:14.0.5-1) unstable; urgency=medium + + * New upstream release + * Only install grpc files libclang-X.Y-dev when grpc built + * Remove cv-insn-support.patch (applied upstream) + + [ John Paul Adrian Glaubitz ] + * Disable compiler-rt built-ins on x32 + + [ Michael Biebl ] + * Add support for systemd-binfmt (Closes: #1012368) + + -- Sylvestre Ledru Sat, 11 Jun 2022 09:09:03 +0200 + +llvm-toolchain-14 (1:14.0.4-4) unstable; urgency=medium + + * autopkgtest: Restrict debian/qualify-clang.sh on + amd64 arm64 i386 + + -- Sylvestre Ledru Fri, 03 Jun 2022 10:52:10 +0200 + +llvm-toolchain-14 (1:14.0.4-3) unstable; urgency=medium + + * Fix GRPC installation path and files + + -- Gianfranco Costamagna Tue, 31 May 2022 12:09:28 +0200 + +llvm-toolchain-14 (1:14.0.4-2) unstable; urgency=low + + * Add breaks/replaces for grpc binaries being placed in another package in Ubuntu + * Fix GRPC installation for ports architectures + * Add support for Ubuntu kinetic + * rules: take some patches from Ubuntu to save extra space during build + + -- Gianfranco Costamagna Sun, 29 May 2022 12:53:47 +0200 + +llvm-toolchain-14 (1:14.0.4-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Enable GRPC build dependency only on supported targets + + [ Sylvestre Ledru ] + * New upstream release + + -- Sylvestre Ledru Wed, 25 May 2022 08:49:20 +0200 + +llvm-toolchain-14 (1:14.0.3-2) unstable; urgency=medium + + * Fix an autopkgtest on arm (Closes:# 1010716) + Thanks to Pino Toscano for the patch + * Fix the search path for hip (Closes: #1010467) + * Add the option -DLLVM_ENABLE_CURL=ON + See https://github.com/llvm/llvm-project/issues/55289 + (LP: #1971743) + + -- Sylvestre Ledru Mon, 09 May 2022 20:40:39 +0200 + +llvm-toolchain-14 (1:14.0.3-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Fri, 29 Apr 2022 09:23:16 +0200 + +llvm-toolchain-14 (1:14.0.2-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Wed, 27 Apr 2022 08:36:00 +0200 + +llvm-toolchain-14 (1:14.0.1-1) unstable; urgency=medium + + * New upstream release + Fixes the ABI issues + + -- Sylvestre Ledru Wed, 13 Apr 2022 09:33:24 +0200 + +llvm-toolchain-14 (1:14.0.0-1) unstable; urgency=medium + + * New stable release + + -- Sylvestre Ledru Wed, 23 Mar 2022 08:41:26 +0100 + +llvm-toolchain-14 (1:14.0.0~+rc4-1) unstable; urgency=medium + + * New snapshot release (rc3 isn't a thing) + * Add an ugly workaround for Ubuntu jammy (some python files are installed in local/lib) + + -- Sylvestre Ledru Fri, 11 Mar 2022 18:28:07 +0100 + +llvm-toolchain-14 (1:14.0.0~+rc2-1~exp1) unstable; urgency=medium + + * New snapshot release + * Also path LD_LIBRARY_PATH for install + when cmake binary backport like on bionic s390x (for apt.llvm.org) + + -- Sylvestre Ledru Fri, 04 Mar 2022 20:06:44 +0100 + +llvm-toolchain-14 (1:14.0.0~+rc1-1) unstable; urgency=medium + + * First testing release of 14 + * Upload to unstable + Changes for 13: + * mlir: use the cmake option to avoid installing object files + MLIR_INSTALL_AGGREGATE_OBJECTS + Closes upstream #53134 + * Build clangd with GRPC support + Thanks to Sam McCall for the patch + * Revert e80c52986e1bb3afa6a92c58b1cb897877923a66 to be able to build on stretch + + -- Sylvestre Ledru Thu, 10 Feb 2022 09:25:26 +0100 + +llvm-toolchain-14 (1:14~++20220202101403+91632c8ac97f-1~exp1) experimental; urgency=medium + + * snapshot = 15, first 14 package + * Ship clang-linker-wrapper in clang-tools-X.Y + + -- Sylvestre Ledru Wed, 02 Feb 2022 22:14:13 +0100 + +llvm-toolchain-14 (1:14~++20220128082735+c962b3fdf8dd-1~exp1) UNRELEASED; urgency=medium + + * snapshot = 15, first 14 package + * Ship clang-linker-wrapper in clang-tools-X.Y + + -- Sylvestre Ledru Fri, 28 Jan 2022 08:27:53 +0100 + +llvm-toolchain-snapshot (1:14~++20220123085548+413684313d9d-1~exp2) experimental; urgency=medium + + * Hide some symbols for omp/arm* and other archs + + -- Sylvestre Ledru Mon, 24 Jan 2022 13:56:35 +0100 + +llvm-toolchain-snapshot (1:14~++20220123085548+413684313d9d-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * Ugly workaround to enable scan-build on runtimes + debian/patches/use-scan-build-runtimes.diff + * Python 2 => 3 to unbreak the 'scanbuild_py_makefile.txt' test + * Enable CLANG_DEFAULT_PIE_ON_LINUX + * Lower the debhelper dep to 10 for debian stretch + * Rename ocaml-nox => ocaml-base + * Update of the ocaml doc path to catch a different path + + [ Samuel Thibault ] + * Explicitly link against -latomic on hurd-i386 as well. + + -- Sylvestre Ledru Sun, 23 Jan 2022 20:48:09 +0100 + +llvm-toolchain-snapshot (1:14~++20220107114130+3a604fdbcd5f-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Fri, 07 Jan 2022 23:58:01 +0100 + +llvm-toolchain-snapshot (1:14~++20211230084136+a96fe1bf3b32-1~exp1) experimental; urgency=medium + + * New snapshot release + * Build and ship MLIR as 3 new packages (libmlir-14-dev, libmlir-14 + and mlir-14-tools) + + -- Sylvestre Ledru Wed, 29 Dec 2021 21:08:20 +0100 + +llvm-toolchain-snapshot (1:14~++20211221121559+9e3ae8d296aa-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove some old mach lld libraries. Remove upstream in 9e3552523ebd3385487e01e3e7af37b8c0efaf57 + liblldReaderWriter.a liblldDriver.a liblldYAML.a liblldCore.a liblldMachOOld.a + * Also install llvm-debuginfod-find in llvm-14 + + -- Sylvestre Ledru Fri, 03 Dec 2021 13:19:39 +0100 + +llvm-toolchain-snapshot (1:14~++20211113111058+6a40854ce507-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * Adjust the libomp5 symbols + + -- Sylvestre Ledru Sat, 13 Nov 2021 23:15:48 +0100 + +llvm-toolchain-snapshot (1:14~++20211113102219+b5ff187b7b51-1~exp1) experimental; urgency=medium + + * Remove the triple patch. it is causing the library search path to fail. + Add a test in debian/qualify-clang.sh to verify we don't regress + * Fix the "all" build + * Disable LIBCXX_USE_COMPILER_RT on s390x, armel and x32 as it fails. See bug 52022 + * Adjust the libomp_start_tool visibility on armhf + * Be more flexible to install libomptarget-*.bc + (ex: libomptarget-new-nvptx-*.bc are new) + * Force the i386 triple -DLLVM_HOST_TRIPLE=i386-linux-gnu + Sometimes, on i386, the library detection is failing (often on z3 + or ffi) + 'Could NOT find Z3:' + * Add '-DCMAKE_FIND_DEBUG_MODE=true' to help with debugging + * Disable the build of libclc on old Ubuntu (Groovy & focal) + as llvm-spir is too old on these version. + See bug #52200 + * Adjust the sphinx build as the makefile have been removed + * If lua is available on the system at built time, a lua lldb binding + was created. It was leading to some build failures depending + on the package installed on the build system. + Force the deactivation of the lua build when lldb is built. + * libomp: add new symbols + - GOMP_5.0.1 + - GOMP_alloc + - GOMP_free + - __kmpc_aligned_alloc + - __kmpc_atomic_bool_1_cas + - __kmpc_atomic_bool_1_cas_cpt + - __kmpc_atomic_bool_2_cas + - __kmpc_atomic_bool_2_cas_cpt + - __kmpc_atomic_bool_4_cas + - __kmpc_atomic_bool_4_cas_cpt + - __kmpc_atomic_bool_8_cas + - __kmpc_atomic_bool_8_cas_cpt + - __kmpc_atomic_float10_max + - __kmpc_atomic_float10_max_cpt + - __kmpc_atomic_float10_min + - __kmpc_atomic_float10_min_cpt + - __kmpc_atomic_val_1_cas + - __kmpc_atomic_val_1_cas_cpt + - __kmpc_atomic_val_2_cas + - __kmpc_atomic_val_2_cas_cpt + - __kmpc_atomic_val_4_cas + - __kmpc_atomic_val_4_cas_cpt + - __kmpc_atomic_val_8_cas + - __kmpc_atomic_val_8_cas_cpt + - omp_aligned_alloc + - omp_aligned_calloc + * Install llvm-tli-checker in llvm-X.Y + + [ Erik Maciejewski ] + * Merge migration to 2stage runtimes build 13 => 14 + + -- Sylvestre Ledru Sat, 13 Nov 2021 10:26:41 +0100 + +llvm-toolchain-snapshot (1:14~++20211111061527+d56b171ee965-1~exp1) experimental; urgency=medium + + * Remove the triple patch. it is causing the library search path to fail. + Add a test in debian/qualify-clang.sh to verify we don't regress + * Fix the "all" build + * Disable LIBCXX_USE_COMPILER_RT on s390x, armel and x32 as it fails. See bug 52022 + * Adjust the libomp_start_tool visibility on armhf + * Be more flexible to install libomptarget-*.bc + (ex: libomptarget-new-nvptx-*.bc are new) + * Force the i386 triple -DLLVM_HOST_TRIPLE=i386-linux-gnu + Sometimes, on i386, the library detection is failing (often on z3 + or ffi) + 'Could NOT find Z3:' + * Add '-DCMAKE_FIND_DEBUG_MODE=true' to help with debugging + * Disable the build of libclc on old Ubuntu (Groovy & focal) + as llvm-spir is too old on these version. + See bug #52200 + * Adjust the sphinx build as the makefile have been removed + * If lua is available on the system at built time, a lua lldb binding + was created. It was leading to some build failures depending + on the package installed on the build system. + Force the deactivation of the lua build when lldb is built. + * libomp: add new symbols + - GOMP_5.0.1 + - GOMP_alloc + - GOMP_free + - __kmpc_aligned_alloc + - __kmpc_atomic_bool_1_cas + - __kmpc_atomic_bool_1_cas_cpt + - __kmpc_atomic_bool_2_cas + - __kmpc_atomic_bool_2_cas_cpt + - __kmpc_atomic_bool_4_cas + - __kmpc_atomic_bool_4_cas_cpt + - __kmpc_atomic_bool_8_cas + - __kmpc_atomic_bool_8_cas_cpt + - __kmpc_atomic_float10_max + - __kmpc_atomic_float10_max_cpt + - __kmpc_atomic_float10_min + - __kmpc_atomic_float10_min_cpt + - __kmpc_atomic_val_1_cas + - __kmpc_atomic_val_1_cas_cpt + - __kmpc_atomic_val_2_cas + - __kmpc_atomic_val_2_cas_cpt + - __kmpc_atomic_val_4_cas + - __kmpc_atomic_val_4_cas_cpt + - __kmpc_atomic_val_8_cas + - __kmpc_atomic_val_8_cas_cpt + - omp_aligned_alloc + - omp_aligned_calloc + + [ Erik Maciejewski ] + * Merge migration to 2stage runtimes build 13 => 14 + + -- Sylvestre Ledru Thu, 11 Nov 2021 18:19:57 +0100 + +llvm-toolchain-snapshot (1:14~++20210926041028+6063e6b499c7-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * Bring back the libc++/libc++abi options + + -- Sylvestre Ledru Sun, 26 Sep 2021 16:14:44 +0200 + +llvm-toolchain-snapshot (1:14~++20210924122635+4a57f5d1e1c5-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release + * remove "scan-build-py-force-utf-8-opening.diff" + merged upstream + * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn + * Add -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF. it was turn on by default + in https://reviews.llvm.org/D107799 + It was causing the second cmake (stage2) build to fail on z3 or libffi. + Sign that the compiler didn't work correctly. + * libcxxabi: Unbreak the CI by adding a silly symlink to _config_site + Far from perfect but it should be fixed by the runtime move: + https://reviews.llvm.org/D89013#3017317 + * New symbols in libomp5-14: + - __kmpc_end_scope + - __kmpc_scope + - libomp_start_tool + (and remove some old missing symbols) + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on m68k, sparc64 and x32 + + -- Sylvestre Ledru Fri, 24 Sep 2021 12:31:05 +0200 + +llvm-toolchain-snapshot (1:14~++20210924092749+e325ebb9c70b-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release + * remove "scan-build-py-force-utf-8-opening.diff" + merged upstream + * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn + * the libc++* & libunwind builds are installed in directory with triple + * remove the libc++ & libc++abi tasks as they are part of the process now + * Add -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF. it was turn on by default + in https://reviews.llvm.org/D107799 + It was causing the second cmake (stage2) build to fail on z3 or libffi. + Sign that the compiler didn't work correctly. + * libcxxabi: Unbreak the CI by adding a silly symlink to _config_site + Far from perfect but it should be fixed by the runtime move: + https://reviews.llvm.org/D89013#3017317 + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on m68k, sparc64 and x32 + + -- Sylvestre Ledru Fri, 24 Sep 2021 23:09:21 +0200 + +llvm-toolchain-snapshot (1:14~++20210831081106+387a8dea7234-1~exp1) UNRELEASED; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release + * remove "scan-build-py-force-utf-8-opening.diff" + merged upstream + * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on m68k, sparc64 and x32 + + [ Sylvestre Ledru ] + * experimental New snapshot release + * experimental New snapshot release + * experimental New snapshot release + + -- Sylvestre Ledru Tue, 31 Aug 2021 08:15:00 +0200 + +llvm-toolchain-snapshot (1:14~++20210827020436+15b2a8e7faf6-1~exp2) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable libunwind-X.Y{-dev} packages on sparc and sparc64 + + [ Sylvestre Ledru ] + * Ship clang-repl as part of clang-tools-XX + See https://reviews.llvm.org/D106813 + * Ship clang-nvlink-wrapper as part of clang-tools-XX + See https://reviews.llvm.org/D108291 + * debuginfo-tests has been renamed to cross-project-tests + + -- Sylvestre Ledru Tue, 31 Aug 2021 22:17:35 +0200 + +llvm-toolchain-snapshot (1:14~++20210827071740+3ec634e65a02-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release + * remove "scan-build-py-force-utf-8-opening.diff" + merged upstream + * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn + * Upload the various changes from 12 & 13 + * remove "scan-build-py-force-utf-8-opening.diff" + merged upstream + * Also install libomptarget-nvptx in libomp-X.Y-dev next to amdgcn + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on m68k, sparc64 and x32 + + -- Sylvestre Ledru Fri, 27 Aug 2021 21:56:14 +0200 + +llvm-toolchain-snapshot (1:14~++20210827020436+15b2a8e7faf6-1~exp2) UNRELEASED; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable libunwind-X.Y{-dev} packages on sparc and sparc64 + + -- John Paul Adrian Glaubitz Sun, 29 Aug 2021 21:28:50 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc2-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on m68k, sparc64 and x32 + + [ Gianfranco Costamagna ] + * integration-test-suite-test: fix build by using 13 as default version + + [ Sylvestre Ledru ] + * New testing release + + -- Sylvestre Ledru Fri, 27 Aug 2021 09:43:28 +0200 + +llvm-toolchain-snapshot (1:14~++20210715093511+afc760ef3527-1~exp2) unstable; urgency=medium + + * revert the s390 as it is probably fixed + * Rename some lld libs. Following 7a6482216ff02f81ed02ff4936f1b22d4b5a9a6c + lldMachO=>lldMachOOld and lldMachO2=>lldMach + * scan-build-py - Force the file open in utf-8. Fails on -14 on bionic + otherwise + + -- Sylvestre Ledru Fri, 06 Aug 2021 08:40:58 +0200 + +llvm-toolchain-13 (1:13.0.1-9) UNRELEASED; urgency=medium + + * d/rules: Don't send an empty string to cmake when llvm-spirv is not found + + -- Jordan Justen Fri, 28 Oct 2022 10:17:57 -0700 + +llvm-toolchain-13 (1:13.0.1-8) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Disable the build of libclc on old Ubuntu (Groovy & focal) + as llvm-spir is too old on these version. + See bug #52200 + + [ Jordan Justen ] + * d/rules: Call bash to use 'command -v' to location llvm-spirv executable + * d/rules: Set LLVM_SPIRV with cmake for libclc + * d/patches: Drop libclc-llvm-spirv.diff now that we are setting LLVM_SPIRV + * d/rules: Check for llvm-spirv with version suffix + + -- Jordan Justen Wed, 26 Oct 2022 10:13:59 -0700 + +llvm-toolchain-13 (1:13.0.1-7) unstable; urgency=medium + + [ Michael Biebl ] + * Add support for systemd-binfmt (Closes: #1012367) + + [ Sam McCall ] + * Add conventional symlink to libc++ headers in /usr/include/c++/v1 + See https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/merge_requests/95 + for more information + + -- Sylvestre Ledru Fri, 22 Jul 2022 15:10:20 +0200 + +llvm-toolchain-13 (1:13.0.1-6) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable compiler-rt built-ins on x32 + + [ Gianfranco Costamagna ] + * Enable grpc on riscv64 + + -- Gianfranco Costamagna Sat, 04 Jun 2022 15:30:38 +0200 + +llvm-toolchain-13 (1:13.0.1-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Enable GRPC build dependency only on supported targets + * Exclude lib{Monitoring,RemoteIndex}*Proto.a on m68k and sparc64 + + [ Gianfranco Costamagna ] + * fix grpc architectures, avoiding to install them where not available + * Break/Replaces the Ubuntu library that moved GRPC binaries into the wrong location + * newline/tab fix in rules + * fix GRPC installation in port architectures + * Add patches from Upstream/Ubuntu to: + - Backport upstream patches to allow building EFI images for Ubuntu Core + for arm64 (LP: #1960300) + + -- Gianfranco Costamagna Thu, 26 May 2022 09:30:17 +0200 + +llvm-toolchain-13 (1:13.0.1-4) unstable; urgency=medium + + * Backport D115098 for Rust 1.59 (Closes: #1010150) + + -- Sylvestre Ledru Mon, 09 May 2022 20:47:26 +0200 + +llvm-toolchain-13 (1:13.0.1-3) unstable; urgency=medium + + * Fix a typo in an header (closes: #1005195) + + * Also install usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexProto.a + usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexServiceProto.a + usr/lib/llvm-@LLVM_VERSION@/lib/libMonitoringServiceProto.a + in libclang-X.Y-dev + (Closes: #1005666) + + -- Sylvestre Ledru Tue, 08 Feb 2022 21:39:18 +0100 + +llvm-toolchain-13 (1:13.0.1-2) unstable; urgency=medium + + * mlir: use the cmake option to avoid installing object files + MLIR_INSTALL_AGGREGATE_OBJECTS + Closes upstream #53134 + * Build clangd with GRPC support + Thanks to Sam McCall for the patch + + -- Sylvestre Ledru Wed, 05 Jan 2022 23:21:56 +0100 + +llvm-toolchain-13 (1:13.0.1-1) unstable; urgency=medium + + * New stable release + + -- Sylvestre Ledru Thu, 03 Feb 2022 10:21:56 +0100 + +llvm-toolchain-13 (1:13.0.1~+rc3-1~exp1) experimental; urgency=medium + + [ Samuel Thibault ] + * Explicitly link against -latomic on all ports, not only the Linux ones. + * Stop hardcoding -DCMAKE_SYSTEM_NAME=Linux as cmake parameter, as it breaks + stage2 builds on non-Linux architectures + + [ Pino Toscano ] + * debian/rules: Disable 64bit runtime build on hurd-i386 (Closes: #1003081). + + [ Sylvestre Ledru ] + * New rc + * Lower the debhelper dep to 10 for debian stretch + * Rename ocaml-nox => ocaml-base (Closes: #1002609) + * Remove Build-Conflicts: ocaml + + -- Sylvestre Ledru Thu, 13 Jan 2022 21:17:23 +0100 + +llvm-toolchain-13 (1:13.0.1~+rc1-1~exp4) experimental; urgency=medium + + * Fix the cmake file with the mlir introducing + + -- Sylvestre Ledru Thu, 06 Jan 2022 14:30:59 +0100 + +llvm-toolchain-13 (1:13.0.1~+rc1-1~exp3) experimental; urgency=medium + + * Build and ship MLIR as 3 new packages (libmlir-13-dev, libmlir-13 + and mlir-13-tools) + * Install bfd plugins in + /usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so + + -- Sylvestre Ledru Fri, 31 Dec 2021 12:22:38 +0100 + +llvm-toolchain-13 (1:13.0.1~+rc1-1~exp2) experimental; urgency=medium + + * Bring back the dependency clang => llvm-13-linker-tools + * Unbreak llvm-toolchain-13 on buster. + -fuse-ld=gold wasn't passed to compiler-rt. it was using bfd. + And binutils shipping in buster has a bug preventing this to work: + https://github.com/llvm/llvm-project/issues/42339 + * Remove AVR from LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. stable since 11 + https://releases.llvm.org/11.0.0/docs/ReleaseNotes.html#changes-to-the-avr-target + * Use the version suffix when calling wasm-ld => wasm-ld-13 + https://bugzilla.mozilla.org/show_bug.cgi?id=1747145 + * Fix run-clang-tidy symlink. it moved from /usr/lib/llvm-13/share/clang/run-clang-tidy + to /usr/lib/llvm-13/bin/run-clang-tidy + (Closes: #1001748) + * Install LLVMgold in usr/lib/bfd-plugins to help various tools to understand the + format (Closes: #919020) + + -- Sylvestre Ledru Thu, 16 Dec 2021 14:28:09 +0100 + +llvm-toolchain-13 (1:13.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New testing release + * Use parallel + -4 for the xz tarballs compression to make it faster + * Add manpages for git-clang-format & run-clang-tidy + * Add back -DLLVM_VERSION_SUFFIX=. Useless for 13 but necessary for snapshot + Otherwise, it adds "git" to the libs + + -- Sylvestre Ledru Thu, 11 Nov 2021 22:45:25 +0100 + +llvm-toolchain-13 (1:13.0.0-9) unstable; urgency=medium + + * Upload to unstable (all green on exp) + + -- Sylvestre Ledru Mon, 08 Nov 2021 14:09:25 +0100 + +llvm-toolchain-13 (1:13.0.0-9~exp2) experimental; urgency=medium + + * patch compiler-rt build to add option to disable scudo standalone allocator + as it is not always supported by all debian baseline arch profiles + * add COMPILER_RT_BUILD_SCUDO_STANDALONE=OFF to armel build in debian/rules + since the baseline armv5t arch profile is not supported + + -- Erik Maciejewski Fri, 05 Nov 2021 16:38:43 -0700 + +llvm-toolchain-13 (1:13.0.0-9~exp1) experimental; urgency=medium + + * Merge migration to 2stage runtimes build 12 => 13 + * Adjust openmp runtime quilt patches from branch 12 for changes in upstream + (llvmorg-13.0.0) sources + + -- Erik Maciejewski Wed, 03 Nov 2021 20:03:56 -0700 + +llvm-toolchain-13 (1:13.0.0-8) unstable; urgency=medium + + * Disable lldb on mipsel and mips64el as it isn't supported + See https://reviews.llvm.org/D102872 + (Closes: #997011) + + -- Sylvestre Ledru Sat, 23 Oct 2021 10:33:56 +0200 + +llvm-toolchain-13 (1:13.0.0-7) unstable; urgency=medium + + * Remove omp-device-info from LLVMExports.cmake (Closes: #996551) + For real this time + * Fix the link issue (hopefully on all archs) (Closes: #995827) + customs LDFLAGS were not passed to the stage2 + * Trim trailing whitespace. + * Update watch file format version to 4. + * Update to compat 11. + oldstable has 12 + bionic has 11 + + -- Sylvestre Ledru Wed, 20 Oct 2021 07:36:28 +0200 + +llvm-toolchain-13 (1:13.0.0-6) unstable; urgency=medium + + * Remove omp-device-info from LLVMExports.cmake (Closes: #996551) + * Fix a atomic issue. Thanks to YunQiang Su for the patch + Partial fix for #995827 + * Bring back the llvm manpages (Closes: #995684) + Were generated at the wrong place + + -- Sylvestre Ledru Fri, 15 Oct 2021 10:45:30 +0200 + +llvm-toolchain-13 (1:13.0.0-5) unstable; urgency=medium + + * Restrict the dependency on libunwind-13-dev from Package: libc++-13-dev + on amd64 arm64 armhf i386 mips64el ppc64el ppc64 riscv64 + (Closes: #996462) + + -- Sylvestre Ledru Thu, 14 Oct 2021 12:33:15 +0200 + +llvm-toolchain-13 (1:13.0.0-4) unstable; urgency=medium + + * Instead of using llvm-* to install binaries in llvm-X.Y + list all the binaries one by one. + It will prevent "llvm-omp-device-info" to be installed in + llvm-X.Y which caused an explicit dependency on libomp + which caused llvm-X.Y to be NOT coinstallable anymore + * Move llvm-omp-device-info-X.Y from llvm-X to libompX-dev + Fixes upstream #52162 + + -- Sylvestre Ledru Wed, 13 Oct 2021 13:29:51 +0200 + +llvm-toolchain-13 (1:13.0.0-3) unstable; urgency=medium + + * libc++-13-dev should depends on libunwind-13-dev + (Closes: #995810) + * Disable a tsan and two lldb tests on i386 + + -- Sylvestre Ledru Wed, 06 Oct 2021 12:52:10 +0200 + +llvm-toolchain-13 (1:13.0.0-2) unstable; urgency=medium + + * Fix the libclang detection in cmake + (Closes: #994827) + * Adjust the testsuite after various changes + (rpass, libclang, polly lib, etc) + + -- Sylvestre Ledru Sun, 03 Oct 2021 22:38:18 +0200 + +llvm-toolchain-13 (1:13.0.0-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Fri, 01 Oct 2021 09:08:08 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc4-1) unstable; urgency=medium + + * New testing release + * Ship clang-repl + See https://reviews.llvm.org/D106813 + * Replace make by ninja for the build process + It is now more tested than make by upstream + And it is supposed to be faster + Removed openmp/bootstrap-with-openmp-version-export-missing.diff + as it seems that the ninja move fixed it + + -- Sylvestre Ledru Sat, 18 Sep 2021 19:30:47 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc3-1) unstable; urgency=medium + + * New testing release + * Remove debian/patches/disable-no-omit-leaf.diff + as it is fixed upstream + + -- Sylvestre Ledru Sat, 11 Sep 2021 09:48:23 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc2-3) unstable; urgency=medium + + * compiler-rt scudo, don't add the option + -mno-omit-leaf-frame-pointer when building on + armel & armhf + + -- Sylvestre Ledru Thu, 02 Sep 2021 21:35:26 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc2-2) unstable; urgency=medium + + * Build with -DCMAKE_POSITION_INDEPENDENT_CODE=ON to libc++ and libc++abi + * The changes from 12.0.1-7 + + [ John Paul Adrian Glaubitz ] + * Disable libunwind-X.Y{-dev} packages on sparc and sparc64 + + -- Sylvestre Ledru Sun, 29 Aug 2021 14:52:16 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc2-2) UNRELEASED; urgency=medium + + * Build with -DCMAKE_POSITION_INDEPENDENT_CODE=ON to libc++ and libc++abi + + [ John Paul Adrian Glaubitz ] + * Disable libunwind-X.Y{-dev} packages on sparc and sparc64 + + -- Sylvestre Ledru Sun, 29 Aug 2021 14:52:16 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc1-2) unstable; urgency=medium + + * clang-soname-extract-version.diff: improve the upstream declaration + * Fix the libclang links + + -- Sylvestre Ledru Thu, 19 Aug 2021 18:13:56 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc1-1) unstable; urgency=medium + + * Upload to Unstable + * Add symbol clang_CompileCommand_getNumMappedSources to libclang + * Add a new variable called SONAME_CLANG as + clang soname has started with llvm-toolchain-13. + it is normal that 13 is what is seen in 14 or later version as + it is bumped only with abi changes + + -- Sylvestre Ledru Mon, 16 Aug 2021 16:00:12 +0200 + +llvm-toolchain-13 (1:13.0.0~+rc1-1~exp1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 03 Aug 2021 09:36:26 +0200 + +llvm-toolchain-13 (1:13~++20210731010128+6eaf46beb462-1~exp1) experimental; urgency=medium + + * Branching of snapshot into 13 + * Adjust libclang: + - upstream decided to make it stable starting from 13, with the soname + - for now, I am not planning to rename libclang1-13 to libclang13 as it will + cause too much churn for a small gain as we will keep libllvm (while + losing the capability to have different versions in parallel installed) + See upstream c7b3a91017d26266d7556b1ac7c49b06f0109b91 + + -- Sylvestre Ledru Tue, 20 Jul 2021 09:40:58 +0200 + +llvm-toolchain-snapshot (1:13~++20210715093511+afc760ef3527-1~exp1) experimental; urgency=medium + + * Refresh the lib of symbols in libomp + * As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 ) + update of the code + * Revert "Revert D94333.diff as it breaks the ci + https://reviews.llvm.org/D94333#2829043" + * Install usr/lib/llvm-13/lib/cmake/openmp/FindOpenMPTarget.cmake + in libomp-13-dev.install + * Revert of D103865 for causing bug 51026 + + -- Sylvestre Ledru Thu, 15 Jul 2021 21:46:58 +0200 + +llvm-toolchain-snapshot (1:13~++20210622112436+600074980410-1~exp1) UNRELEASED; urgency=medium + + * Refresh the lib of symbols in libomp + * As scan-build-py is installed by default ( https://reviews.llvm.org/D104138 ) + update of the code + * Fix the path to analyze-{cc,c++} for scan-build-py with + --intercept-first (scan-build-py-fix-analyze-path.diff) + * experimental New snapshot release + * experimental New snapshot release + + -- Sylvestre Ledru Tue, 22 Jun 2021 23:28:47 +0200 + +llvm-toolchain-snapshot (1:13~++20210620054946+4c44b02d87bc-1~exp1) experimental; urgency=medium + + * Enable lld on s390x + * remove libomptarget from openmp. done by upstream + in f2f88f3e7a110b2d4d9da446e45f0dba040e62b2 + but install /usr/lib/llvm-13/lib/libomptarget-amdgcn-*.bc + Only install these files on amd64, ppc64el & arm64 + See openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt + * Revert D94333.diff as it breaks the ci + https://reviews.llvm.org/D94333#2829043 + + [ John Paul Adrian Glaubitz ] + * Disable OpenMP on m68k + + -- Sylvestre Ledru Sat, 08 May 2021 13:12:43 +0200 + +llvm-toolchain-snapshot (1:13~++20210418105309+a0898f0cecc7-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * "run-clang-tidy" install it + * Only enable libomp-13-doc on supported archs + * Verify that /proc is mounted. It makes some unexpected issues when + building from a chroot without /proc + * Fix the __config_site include issue + * Revert D95727 for causing bug 49818 + + [ John Paul Adrian Glaubitz ] + * Add upstream patch D98574 to fix clang macro definitions on sparc64 + * Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64 + * Enable building the new experimental M68k backend + * Set LLVM_HOST_TRIPLE to x86_64-linux-gnux32 on x32 + * Set LLVM_DEFAULT_TARGET_TRIPLE to x86_64-linux-gnux32 on x32 + + -- Sylvestre Ledru Sun, 18 Apr 2021 11:00:31 +0200 + +llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp2) experimental; urgency=medium + + * Enable OpenMP offload capabilities for NVDIA GPUs + See https://bugzilla.redhat.com/show_bug.cgi?id=1922914 + + -- Sylvestre Ledru Mon, 01 Feb 2021 09:04:16 +0100 + +llvm-toolchain-snapshot (1:13~++20201124100523+245052ac3080-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * New branch (12 => 13) + * Workaround a static_assert on https://bugs.llvm.org/show_bug.cgi?id=48259 + "static assertion failed: Recycler allocation size is less than object size!" + * Also install usr/lib/llvm-12/bin/ld64.lld.darwinnew & usr/bin/ld64.lld.darwinnew-12 + * Also install usr/lib/llvm-12/lib/libomptarget.so.12 in libomp5-12 + + [ Gianfranco Costamagna ] + * Add upstream patch D92052 to fix a gcn offload compiler issue with gcc (Closes: #975692) + + -- Sylvestre Ledru Wed, 27 Jan 2021 16:02:16 +0100 + +llvm-toolchain-12 (1:12.0.1-20) unstable; urgency=medium + + * Also install usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexProto.a + usr/lib/llvm-@LLVM_VERSION@/lib/libRemoteIndexServiceProto.a + in libclang-X.Y-dev + + -- Sylvestre Ledru Sun, 13 Feb 2022 14:04:40 +0100 + +llvm-toolchain-12 (1:12.0.1-19) unstable; urgency=medium + + * Build clangd with GRPC support + Thanks to Sam McCall for the patch + + -- Sylvestre Ledru Sat, 29 Jan 2022 10:17:38 +0100 + +llvm-toolchain-12 (1:12.0.1-18) unstable; urgency=medium + + * Unbreak llvm-toolchain-12 on buster. + -fuse-ld=gold wasn't passed to compiler-rt. it was using bfd. + And binutils shipping in buster has a bug preventing this to work: + https://github.com/llvm/llvm-project/issues/42339 + * Rename ocaml-nox => ocaml-base (Closes: #1002608) + * Remove Build-Conflicts: ocaml + + -- Sylvestre Ledru Thu, 16 Dec 2021 17:49:22 +0100 + +llvm-toolchain-12 (1:12.0.1-17) unstable; urgency=medium + + * Rebuild to workaround the coinstallability issue (Closes: #996858) + + -- Sylvestre Ledru Tue, 30 Nov 2021 19:32:51 +0100 + +llvm-toolchain-12 (1:12.0.1-16) unstable; urgency=medium + + [ Erik Maciejewski ] + * use make variables populated by /usr/share/dpkg/buildflags.mk and remove + _EXTRA suffix from STAGE_1_ and STAGE_2_ flag vars to improve clarity and + readability for the multi-stage setup in debian/rules + * remove some redundant cmake options (options with the same value as their + default) from, and move PYTHON_EXECUTABLE cmake option to, the cmake + configure command in debian/rules + * re-disable fixfilepath in dpkg-buildflags in favor of using the more llvm + aware implementation provided by the llvm-project by setting + LLVM_USE_RELATIVE_PATHS_IN_FILES=ON in both stages of the toolchain + build in debian/rules + + [ Sylvestre Ledru ] + * autopkgtest/integration-test-suite-test: restrict to arm64/amd64 for now + + -- Sylvestre Ledru Thu, 28 Oct 2021 16:45:49 +0200 + +llvm-toolchain-12 (1:12.0.1-15) unstable; urgency=medium + + * Disable lldb on mipsel and mips64el as it isn't supported + See https://reviews.llvm.org/D102872 + (Closes: #997011) + + [ Erik Maciejewski ] + * disable compiler-rt builtins for unsupported arch s390x in debian/rules + * set arm toolchain arch profiles explicitly to debian baselines in + debian/rules as the target host triples alone are ambiguous and compiler + defaults and debian baselines may not align + * add arch specific config for powerpc to debian/rules and set host target + triple and compiler-rt config to force correct arch profile for builtins + * set LIBCXX_USE_COMPILER_RT to OFF in debian/rules to disable builtins when + libunwind is not enabled since the unwind implementation with gnu builtins + will then be required + + -- Sylvestre Ledru Sat, 23 Oct 2021 10:33:56 +0200 + +llvm-toolchain-12 (1:12.0.1-14) unstable; urgency=medium + + * fix build flag inconsistencies (potentially causing build failures) by + utilizing dpkg-buildflags for defaults where appropriate and making sure all + flags intended for a given stage are also applied to the stage's builtins + and runtimes builds + * re-enable fixfilepath for use with dpkg-buildflags in debian/rules as it has + been supported since clang-10 + * establish a consistent STAGE_[stage]_ prefix naming scheme for stage + variables and replace STAGE1_AND_STAGE2_ prefix with STAGE_ALL_ prefix for + better future-proofing in debian/rules + * modify stage dir var names to use new prefix scheme in debian/rules + * add explicit s390x build options to debian/rules, set + LLVM_HOST_TRIPLE=s390x-linux-gnu and COMPILER_RT_DEFAULT_TARGET_ONLY=ON + so that builtins are only built for the explicit host arch (Closes: #996802) + + -- Erik Maciejewski Fri, 22 Oct 2021 03:12:48 -0700 + +llvm-toolchain-12 (1:12.0.1-13) unstable; urgency=medium + + * update rules to incorporate relevant arch specific configs from snapshot + * patch llvm runtimes cmake build to add a check and only set up and build + compiler-rt builtins if they have not been disabled in a runtimes build + * patch compiler-rt builtins cmake build to fix default arch detection for + armhf by adding the same target triple handling used for compiler-rt libs + * remove legacy var for use when libcxx was a standalone build + + -- Erik Maciejewski Wed, 20 Oct 2021 09:04:42 -0700 + +llvm-toolchain-12 (1:12.0.1-12) unstable; urgency=medium + + * re-disable building builtins on armel as they still fail (Closes: #996828) + * add patch to libcxxabi cmake build for adding builtins to lib flags fixing + an issue where builtins were not being linked into libcxxabi when + LIBCXXABI_USE_COMPILER_RT=ON (Closes: #996796) + + -- Erik Maciejewski Tue, 19 Oct 2021 01:28:50 -0700 + +llvm-toolchain-12 (1:12.0.1-11) unstable; urgency=medium + + * add missing LIBUNWIND_USE_COMPILER_RT to CLANG_BOOTSTRAP_PASSTHROUGH to link + correct compiler-rt lib in stage2 + * consolidate two conditionals for libatomic that were essentially the same, + but the one removed could conflict with BOOTSTRAP_SHARED_LINK_FLAGS + elsewhere in the rules file + * attempt to fix arm builtins by adding COMPILER_RT_DEFAULT_TARGET_ONLY=ON to + armel and armhf toolchain build options to prevent related arches that might + not be supported on the build host from being included in the build (like + armv6m soft-float on the armhf build host) + * reorganize flags and cmake options around stages for the toolchain build + * set baseline arch to armv5t, remove older 3.8 workaround for armel build + * update to debian host triple for the armhf build + + [ Jordan Justen ] + * d/rules: Add amdgcn-mesa-mesa3d to libclc build. + Closes: #993904, #995069 + + [ Sylvestre Ledru ] + * Bring back the llvm manpages (Closes: #995684) + Were generated at the wrong place + + -- Erik Maciejewski Sat, 16 Oct 2021 09:07:25 -0700 + +llvm-toolchain-12 (1:12.0.1-10) unstable; urgency=medium + + * evolve llvm build configuration in rules to leverage the two stage build + with runtimes support whereby the resulting stage2 (final) compiler is used + to build the stage2 (final) runtimes as part of a single monolithic build + * the stage2 runtimes build now includes compiler-rt, libcxx and libcxxabi as + well as libunwind and openmp where supported. Additionally, legacy + corresponding standalone build targets are removed from the rules file + * patch openmp build to include required runtimes as dependencies to build + targets so they are built first when included as part of a runtimes build + since openmp can depend on them + * patch libclc build to set rpath for prepare_builtins build utility to find + correct stage2 libs at runtime when executed as part of a build + * patch libcxx build so that if libatomic is found, only link it if libgcc is + the rtlib + * patch compiler-rt build to suppress xray and testing warns when not enabled + * patch llvm linker detection to account for vendor being prepended to lld + version string + * remove several existing patches incorporating workarounds no longer required + by the modified build configuration + + [ Sylvestre Ledru ] + * If parallel is not set in DEB_BUILD_OPTIONS, use nproc + * Add source-is-missing llvm/test/* / lldb/test/* / lld/test/* + to the source override + * Remove old override 'outdated-autotools-helper-file' + + [ John Paul Adrian Glaubitz ] + * Disable libunwind on sparc, sparc64 and x32 + + -- Erik Maciejewski Wed, 06 Oct 2021 01:25:08 -0700 + +llvm-toolchain-12 (1:12.0.1-9) unstable; urgency=medium + + * Replace make by ninja for the build process + It is now more tested than make by upstream + And it is supposed to be faster + Removed openmp/bootstrap-with-openmp-version-export-missing.diff + as it seems that the ninja move fixed it + + -- Sylvestre Ledru Sat, 18 Sep 2021 11:03:29 +0200 + +llvm-toolchain-12 (1:12.0.1-8) unstable; urgency=medium + + * Add back CMAKE_EXTRA to build LLVM gold (Closes: #993664) + + [ Gianfranco Costamagna ] + * Refresh symbols on riscv64 + + -- Sylvestre Ledru Sat, 04 Sep 2021 16:38:24 +0200 + +llvm-toolchain-12 (1:12.0.1-7) unstable; urgency=medium + + * Add debian/source/options to ignore the diff (much much faster to repack) + * cmake: use ON instead of YES for consistency + * Don't generate the llvm-mcmarkup & lldb-mi manpages (don't exist anymore) + (LP: #1940713) + + [ Gianfranco Costamagna ] + * Add a patch to fix omp build on riscv64 + * Don't build lldb on riscv64, fails to build due to missing + CreateHostNativeRegisterContextLinux implementation on this architecture. + + -- Sylvestre Ledru Tue, 31 Aug 2021 20:56:40 +0200 + +llvm-toolchain-12 (1:12.0.1-6) unstable; urgency=medium + + * Fixup build process on riscv64, the architecture building was enabled + in control file but not in rules file, neither required build-deps were + installed. (note: this should fail, but at least we will have a build log + stored. + * Add ocaml support on riscv64. + * Don't require hello package on i386 (helps Ubuntu alternate dependencies) + + -- Gianfranco Costamagna Thu, 26 Aug 2021 15:33:24 +0200 + +llvm-toolchain-12 (1:12.0.1-5) unstable; urgency=medium + + [ Jordan Justen ] + * Include SPIR-V (*.spv) outputs in libclc package + + -- Sylvestre Ledru Wed, 25 Aug 2021 10:18:14 +0200 + +llvm-toolchain-12 (1:12.0.1-4) unstable; urgency=medium + + * Make libunwind-dev depends on libunwind + * Don't build libunwind on hurd, armel, powerpc & mipsel + * Remove old svn reference in the usage dh_strip & dh_makeshlibs + + -- Sylvestre Ledru Mon, 16 Aug 2021 22:04:17 +0200 + +llvm-toolchain-12 (1:12.0.1-3) unstable; urgency=medium + + * Build libunwind only on amd64 arm64 armhf i386 + mips64el ppc64el ppc64 riscv64 sparc sparc64 + Not supported on s390x for example + * libc++ & libc++ abi: only pass -DLIBCXXABI_USE_LLVM_UNWINDER=YES + if libunwind is available on the platform + + -- Sylvestre Ledru Sun, 01 Aug 2021 11:42:20 +0200 + +llvm-toolchain-12 (1:12.0.1-2) unstable; urgency=medium + + * Generate libunwind-12 & libunwind-12-dev packages + * Add the following option to the libc++ build: + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON + -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF + to address upstream bug 46321 + * Make libc++abi use libunwind + + [ Kasper Kantz ] + * Add riscv64 architecture in control + enable liblldb, libomp and others which are + currently unavailable in riscv64 repository. + + [ Krzysztof Aleksander Pyrkosz ] + * Add libxml2 as a dependency as it is necessary + for llvm manifest tool (llvm-mt) + (Closes: #990537) + + [ Jordan Justen ] + * d/rules: Adjust cmake defines to fix libclc.pc paths + * Add the following option to the libc++ build: + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON + -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF + to address upstream bug 46321 + * Build libunwind + + [ Kasper Kantz ] + * Add riscv64 architecture in control + enable liblldb, libomp and others which are + currently unavailable in riscv64 repository. + + [ Krzysztof Aleksander Pyrkosz ] + * Add libxml2 as a dependency as it is necessary + for llvm manifest tool (llvm-mt) + (Closes: #990537) + + [ Jordan Justen ] + * d/rules: Adjust cmake defines to fix libclc.pc paths + + -- Sylvestre Ledru Mon, 12 Jul 2021 08:19:59 +0200 + +llvm-toolchain-12 (1:12.0.1-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Fri, 09 Jul 2021 09:13:12 +0200 + +llvm-toolchain-12 (1:12.0.1~+rc4-1) unstable; urgency=medium + + * New testing upstream release + + -- Sylvestre Ledru Sat, 03 Jul 2021 00:17:36 +0200 + +llvm-toolchain-12 (1:12.0.1~+rc3-1) unstable; urgency=medium + + * New testing upstream release + * Fix the path to analyze-{cc,c++} for scan-build-py with + --intercept-first (scan-build-py-fix-analyze-path.diff) + + -- Sylvestre Ledru Sat, 26 Jun 2021 10:00:56 +0200 + +llvm-toolchain-12 (1:12.0.1~+rc2-1) unstable; urgency=medium + + * New testing upstream release + + -- Sylvestre Ledru Mon, 21 Jun 2021 16:06:36 +0200 + +llvm-toolchain-12 (1:12.0.1~+rc1-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add upstream patch D98574 to fix clang macro definitions on sparc64 + * Add upstream patch D98575 to fix 32-bit compiler-rt build on sparc64 + + [ Sylvestre Ledru ] + * backport D101773 to fix an llvm ir issue on mipsel + in mips/mips-D101773-reloc.patch + thanks to Ximin Luo + (Closes: #988965) + + -- Sylvestre Ledru Fri, 28 May 2021 23:27:27 +0200 + +llvm-toolchain-12 (1:12.0.1~+rc1-1~exp1) unstable; urgency=medium + + * New testing upstream release + + -- Sylvestre Ledru Wed, 26 May 2021 13:10:29 +0200 + +llvm-toolchain-12 (1:12.0.0-3) unstable; urgency=medium + + [ Timo Aaltonen ] + * Build libclc. (Closes: #942709) + + [ Sylvestre Ledru ] + * Upload to unstable + * Also build lld on s390x + + -- Sylvestre Ledru Sat, 01 May 2021 19:33:27 +0200 + +llvm-toolchain-12 (1:12.0.0-2) experimental; urgency=medium + + [ Matthias Klose ] + * Improve the clean rule + * Disable again LTO + * Create a new package llvm-12-linker-tools: + Contains the LLVMgold and LLVMPolly linker plugins. + + -- Sylvestre Ledru Thu, 15 Apr 2021 13:27:57 +0200 + +llvm-toolchain-12 (1:12.0.0-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Thu, 15 Apr 2021 07:57:57 +0200 + +llvm-toolchain-12 (1:12.0.0~++rc5-2) unstable; urgency=medium + + * Add -DCMAKE_SUPPRESS_REGENERATION=ON to limit the number of calls + to cmake + Try to workaround a bug on llvm-toolchain-stretch-12-binaries + architecture=s390x,stretch + + -- Sylvestre Ledru Sat, 10 Apr 2021 14:59:07 +0200 + +llvm-toolchain-12 (1:12.0.0~++rc5-1) unstable; urgency=medium + + * New testing upstream release + * Verify that /proc is mounted. It makes some unexpected issues when + building from a chroot without /proc + + -- Sylvestre Ledru Thu, 08 Apr 2021 18:04:07 +0200 + +llvm-toolchain-12 (1:12.0.0~++rc4-1) unstable; urgency=medium + + * New testing upstream release + * Cherry-pick https://reviews.llvm.org/D99501 to allow -flto=auto + + -- Sylvestre Ledru Thu, 01 Apr 2021 08:56:19 +0200 + +llvm-toolchain-12 (1:12.0.0~++rc3-4) unstable; urgency=medium + + * Don't fail fsanitize=thread on i386, not supported + * Don't hard fail on z3 failures with "set -e" at the begin, if z3 support is not available we do fail and exit testsuite without checking the log + * Don't force gcc-11 anymore on riscv64, gcc-10 has the fixes now + + -- Gianfranco Costamagna Sat, 20 Mar 2021 17:16:26 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc3-3) unstable; urgency=medium + + * Cherry-pick upstream commit e3cd3a3c91524c957e06bb0170343548f02b6842 + bring back Reporter.py needing to make scan-view work. + + -- Gianfranco Costamagna Wed, 17 Mar 2021 13:11:46 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc3-2) unstable; urgency=medium + + * Fixup omptarget regex error, missing escape + + -- Gianfranco Costamagna Mon, 15 Mar 2021 21:04:46 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc3-1) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Upload to sid + + [ Sylvestre Ledru ] + * Ignore source: invalid-arch-string-in-source-relation riscv64 [build-depends: g++-11 [riscv64]] + + [ Matthias Klose ] + * Also disable CMake's package validation check for omptarget target files (Closes: #983838). + + -- Gianfranco Costamagna Mon, 15 Mar 2021 11:18:42 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc3-1~exp1) experimental; urgency=medium + + * New testing upstream release + + -- Sylvestre Ledru Wed, 10 Mar 2021 16:11:07 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc2-1~exp2) experimental; urgency=medium + + * Refresh the openmp symbol list + In libomp.so.5: + - GOMP_taskwait_depend + - GOMP_teams_reg + - __kmpc_calloc + - __kmpc_realloc + - __kmpc_taskloop_5 + And all libomptarget.so.12 + * Only enable libomp-12-doc on supported archs + + [ Matthias Klose ] + * Build using GCC 11 on riscv64 (Closes: #983837). + + -- Sylvestre Ledru Tue, 02 Mar 2021 13:25:24 +0100 + +llvm-toolchain-12 (1:12.0.0~++rc2-1~exp1) experimental; urgency=medium + + * New rc release + + -- Sylvestre Ledru Wed, 24 Feb 2021 10:18:02 +0100 + +llvm-toolchain-12 (1:12.0.0~++20210127035054+8e464dd76bef-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release now 12 as branched + * Workaround a static_assert on https://bugs.llvm.org/show_bug.cgi?id=48259 + "static assertion failed: Recycler allocation size is less than object size!" + * Also install usr/lib/llvm-12/bin/ld64.lld.darwinnew & usr/bin/ld64.lld.darwinnew-12 + * Also install usr/lib/llvm-12/lib/libomptarget.so.12 in libomp5-12 + + [ Gianfranco Costamagna ] + * Add upstream patch D92052 to fix a gcn offload compiler issue with gcc (Closes: #975692) + + -- Sylvestre Ledru Wed, 27 Jan 2021 15:54:15 +0100 + +llvm-toolchain-snapshot (1:12~++20201105093023+cc2a2bb5ce5-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * lld-use-link-atomic-i386.diff Try to workaround a linker error + error: undefined reference to '__atomic_load' + on sid i386 + * Bring back gold for ppc64el. Doko thinks it is fixed. + + [ John Paul Adrian Glaubitz ] + * Limit maximum parallel link jobs to 4 on sparc and sparc64 + + -- Sylvestre Ledru Thu, 05 Nov 2020 09:42:14 +0100 + +llvm-toolchain-snapshot (1:12~++20201019023155+5a8ac3cc63d-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + * experimental New snapshot release + * experimental New snapshot release + * experimental New snapshot release + + -- Sylvestre Ledru Mon, 19 Oct 2020 14:35:27 +0200 + +llvm-toolchain-snapshot (1:12~++20200929085817+962a247aebb-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/ + instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp + * Install split-file in llvm-X-tools (like lit) + * Add new symbols to libclang1: + - clang_CXRewriter_create + - clang_CXRewriter_dispose + - clang_CXRewriter_insertTextBefore + - clang_CXRewriter_overwriteChangedFiles + - clang_CXRewriter_removeText + - clang_CXRewriter_replaceText + - clang_CXRewriter_writeMainFileToStdOut + - clang_Cursor_getVarDeclInitializer + - clang_Cursor_hasVarDeclExternalStorage + - clang_Cursor_hasVarDeclGlobalStorage + + [ John Paul Adrian Glaubitz ] + * Link against libatomic on mipsel to fix FTBFS in stage2 + * Link against libatomic on powerpc to fix FTBFS in stage2 + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + * Drop powerpcspe patches merged upstream: + - debian/patches/powerpcspe/D49754-powerpcspe-clang.diff + - debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff + - debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff + + -- Sylvestre Ledru Tue, 29 Sep 2020 21:01:53 +0200 + +llvm-toolchain-snapshot (1:12~++20200902060857+888049b97a7-1~exp1) UNRELEASED; urgency=medium + + [ Sylvestre Ledru ] + * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/ + instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp + * Install split-file in llvm-X-tools (like lit) + + [ John Paul Adrian Glaubitz ] + * Link against libatomic on mipsel to fix FTBFS in stage2 + * Link against libatomic on powerpc to fix FTBFS in stage2 + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + + [ Sylvestre Ledru ] + * experimental New snapshot release + + -- Sylvestre Ledru Wed, 02 Sep 2020 18:12:46 +0200 + +llvm-toolchain-snapshot (1:12~++20200804122259+4be13b15d69-1~exp2) UNRELEASED; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * Install omp.h in instead of /usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/include/ + instead of /usr/lib/llvm-@LLVM_VERSION@/include/openmp/omp + * Install split-file in llvm-X-tools (like lit) + * Add new symbols to libclang1: + - clang_CXRewriter_create + - clang_CXRewriter_dispose + - clang_CXRewriter_insertTextBefore + - clang_CXRewriter_overwriteChangedFiles + - clang_CXRewriter_removeText + - clang_CXRewriter_replaceText + - clang_CXRewriter_writeMainFileToStdOut + - clang_Cursor_getVarDeclInitializer + - clang_Cursor_hasVarDeclExternalStorage + - clang_Cursor_hasVarDeclGlobalStorage + + [ John Paul Adrian Glaubitz ] + * Link against libatomic on mipsel to fix FTBFS in stage2 + * Link against libatomic on powerpc to fix FTBFS in stage2 + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + * Drop powerpcspe patches merged upstream: + - debian/patches/powerpcspe/D49754-powerpcspe-clang.diff + - debian/patches/powerpcspe/D54583-powerpcspe-double-parameter.diff + - debian/patches/powerpcspe/D56703-powerpcspe-register-spilling.diff + + -- Sylvestre Ledru Tue, 29 Sep 2020 20:57:09 +0200 + +llvm-toolchain-snapshot (1:12~++20200715052739+d6e79e3dd6d-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * Snapshot is now -12 + + [ Samuel Thibault ] + * debian/patches/hurd/hurd-EIEIO-undef.diff: Remove, upstreamed. + * debian/patches/hurd/hurd-cxx-paths.diff: Remove, upstreamed. + + -- Sylvestre Ledru Wed, 08 Jul 2020 15:19:14 +0200 + +llvm-toolchain-11 (1:11.1.0-3) unstable; urgency=medium + + * Add two patches from ubuntu to fix lto and gcc-11 build failures + * Use minimum version for cmake-test + * Don't require libclang-11-dev on cmake-test + * Add new llvm-11-linker-tools (from Ubuntu) + * Merge new fixes from branch=9 + * clang-11: Drop Recommends: libomp-11-dev + + -- Gianfranco Costamagna Mon, 27 Sep 2021 15:50:46 +0200 + +llvm-toolchain-11 (1:11.1.0-2) unstable; urgency=medium + + * Adjust the cmake test to unbreak autopkgtest + + -- Sylvestre Ledru Sun, 26 Sep 2021 22:02:43 +0200 + +llvm-toolchain-11 (1:11.1.0-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Upload to unstable + * bump autopkgtest cmake version (Closes: #994501) + Thanks to Timo Röhling for the patch + + [ Gianfranco Costamagna ] + * Cherry-pick upstream commit to fix a libgl1-mesa-dri texture failure. + (Closes: #989545) + + -- Sylvestre Ledru Fri, 24 Sep 2021 12:54:55 +0200 + +llvm-toolchain-11 (1:11.1.0-1~exp2) experimental; urgency=medium + + * Fix the default binary path for scan-build-py to clang-11 (instead of + clang) - see scan-build-py-fix-default-bin.diff + tested by + https://github.com/opencollab/llvm-toolchain-integration-test-suite/ + + [ Krzysztof Aleksander Pyrkosz ] + * Add libxml2 as a dependency as it is necessary + for llvm manifest tool (llvm-mt) + (Closes: #990537) + - not really working for now + + -- Sylvestre Ledru Sat, 17 Jul 2021 20:13:57 +0200 + +llvm-toolchain-11 (1:11.1.0-1~exp1) experimental; urgency=medium + + * New upstream release + Should be mostly minor fixes + Was driven by https://bugs.llvm.org/show_bug.cgi?id=46526 + but as we are not impacted, I reverted the change in + debian/patches/revert-abi-change-clang.diff + * Also build lld on s390x + * Fix the path to analyze-{cc,c++} for scan-build-py with + --intercept-first (scan-build-py-fix-analyze-path.diff) + * Backport bug #47591 to fix a miscompilation in bpftrace + (Closes: #990220) + * Only enable libomp-11-doc on supported archs + + -- Sylvestre Ledru Mon, 01 Mar 2021 10:50:19 +0100 + +llvm-toolchain-11 (1:11.0.1-2) unstable; urgency=medium + + * Fix the changelog + + -- Sylvestre Ledru Wed, 06 Jan 2021 20:16:26 +0100 + +llvm-toolchain-11 (1:11.0.1-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New stable release + + [ Gianfranco Costamagna ] + * Drop old patch, upstream now + * Run dh_makeshlibs with -V parameter (Closes: #977814) + + -- Sylvestre Ledru Wed, 06 Jan 2021 09:21:24 +0100 + +llvm-toolchain-11 (1:11.0.1~+rc2-1) unstable; urgency=medium + + * New snapshot release + * Remove 'gnu-assembler-compat.diff' - merged upstream + + -- Sylvestre Ledru Sat, 19 Dec 2020 09:38:48 +0100 + +llvm-toolchain-11 (1:11.0.1~+rc1-1) unstable; urgency=medium + + [ Alexander Volkov ] + * Fix description of libclang-cpp11-dev package. + + [ Sylvestre Ledru ] + * Upload to unstable to help doko with gcc + 11.0.1 will be released before the freeze + + -- Sylvestre Ledru Wed, 16 Dec 2020 22:41:48 +0100 + +llvm-toolchain-11 (1:11.0.1~+rc1-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * gnu-assembler-compat.diff: Add upstream patch D92052 to fix a + gcn offload compiler issue with gcc (Closes: #975692) + + [ Sylvestre Ledru ] + * New snapshot release + * Remove fix-clang-format-bug-47589.patch (applied upstream) + + -- Sylvestre Ledru Thu, 26 Nov 2020 10:14:43 +0100 + +llvm-toolchain-9 (1:9.0.1-19) unstable; urgency=medium + + * Add two patches from ubuntu to fix lto and gcc-11 build failures + + -- Gianfranco Costamagna Mon, 27 Sep 2021 15:39:19 +0200 + +llvm-toolchain-9 (1:9.0.1-18) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Cherry-pick nmu again. (version 16.1) + * bump minimum cmake version on qualify-clang.sh too + * simplify cmake test without minor version + [ Andreas Beckmann ] + * clang-9: Drop Recommends: libomp-9-dev which is not co-installable with + libomp-11-dev (and libomp-dev) for smoother upgrades of libomp-dev from + buster to bullseye. (Closes: #990452) + + -- Gianfranco Costamagna Mon, 27 Sep 2021 15:02:13 +0200 + +llvm-toolchain-9 (1:9.0.1-17) unstable; urgency=medium + + * Remove an old breaks/replaces for 9 which was causing + some issues on Debian buster. Thanks to Julien Wajsberg + for the bug report + * bump autopkgtest cmake version (Closes: #994501) + Thanks to Timo Röhling for the patch + * cherry pick 68d5235cb58f988c71b403334cd9482d663841ab to build + with newer version of the kernel + + -- Sylvestre Ledru Sat, 25 Sep 2021 16:00:36 +0200 + +llvm-toolchain-9 (1:9.0.1-16) unstable; urgency=medium + + * Only enable libomp-9-doc on supported archs + + [ Adrian Bunk ] + * Fix the fuzzer build on i386. + + [ Sylvestre Ledru ] + * Ignore some tests on i386 to get autopkgtest fixed (Closes: #972334) + + -- Sylvestre Ledru Sat, 07 Nov 2020 15:53:51 +0100 + +llvm-toolchain-11 (1:11.0.0-4) unstable; urgency=medium + + * Cherry-pick some fixes from + https://github.com/opencollab/llvm-toolchain-integration-test-suite/ + * Only install hwasan_symbolize when found + * Don't use gold on ppc64el. It fails to build in that case + (Closes: #972317) + + [ John Paul Adrian Glaubitz ] + * Limit maximum parallel link jobs to 4 on sparc and sparc64 + + -- Sylvestre Ledru Sat, 31 Oct 2020 21:49:01 +0100 + +llvm-toolchain-11 (1:11.0.0-3) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Rebuild to fix the coinstall issues (Closes: #972323) + * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. + + -- Sylvestre Ledru Mon, 19 Oct 2020 14:21:50 +0200 + +llvm-toolchain-11 (1:11.0.0-2) unstable; urgency=medium + + * Fix a clang-format issue. Fix bug #47589 + + -- Sylvestre Ledru Mon, 12 Oct 2020 15:15:27 +0200 + +llvm-toolchain-11 (1:11.0.0-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Mon, 12 Oct 2020 11:14:19 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc6-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New rc release + * remove all artifacts after tests + + [ Gianfranco Costamagna ] + * qualify-clang.sh: exclude z3 tests when support is not available, + not based on libz3-dev installation but on the error returned by + clang invocation + + -- Sylvestre Ledru Wed, 07 Oct 2020 16:38:40 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc5-1) unstable; urgency=medium + + * New rc release + + -- Sylvestre Ledru Wed, 30 Sep 2020 20:15:40 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc4-1) unstable; urgency=medium + + * New rc release + * Fix one more test in autopkgtest + + -- Sylvestre Ledru Mon, 28 Sep 2020 22:21:47 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc3-2) unstable; urgency=medium + + * Update of the symbol list of libomp5: + - GOMP_loop_maybe_nonmonotonic_runtime_next + - GOMP_loop_maybe_nonmonotonic_runtime_start + - GOMP_loop_nonmonotonic_runtime_next + - GOMP_loop_nonmonotonic_runtime_start + - GOMP_loop_ull_maybe_nonmonotonic_runtime_next + - GOMP_loop_ull_maybe_nonmonotonic_runtime_start + - GOMP_loop_ull_nonmonotonic_runtime_next + - GOMP_loop_ull_nonmonotonic_runtime_start + - GOMP_parallel_loop_maybe_nonmonotonic_runtime + - GOMP_parallel_loop_nonmonotonic_runtime + - omp_display_env + * Bring back LLVM_POLLY_LINK_INTO_TOOLS=ON to workaround the error + clang (LLVM option parsing): Unknown command line argument '-polly'. + Try: 'clang (LLVM option parsing) --help' + Also found in autopkgtest + * In the autopkgtest tests, update the opt arguments (-q removed and + -basicaa renamed to -basic-aa) + * Disable test executions on mipsel (timeout) + + -- Sylvestre Ledru Sun, 27 Sep 2020 14:26:16 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc3-1) unstable; urgency=medium + + * New rc release + + -- Sylvestre Ledru Tue, 22 Sep 2020 17:19:40 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-6) unstable; urgency=medium + + * Fix "libc++-11-dev includes libc++abi-11-dev headers" + (Closes: #969274) + * Install llvm examples in llvm-11-examples (Closes: #969339) + + -- Sylvestre Ledru Mon, 07 Sep 2020 13:32:26 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Link against libatomic on powerpc to fix FTBFS in stage2 + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + + [ Gianfranco Costamagna ] + * autopkgtests: ignore binfmts enable command return value. + + -- Gianfranco Costamagna Mon, 31 Aug 2020 12:26:58 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-4) unstable; urgency=medium + + * integration-test-suite-test: change the configuration for 11 + + -- Sylvestre Ledru Fri, 28 Aug 2020 23:08:33 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-3) unstable; urgency=medium + + * Fix testsuite by ignoring binfmts test + (can't be enabled on autopkgtests) + + -- Gianfranco Costamagna Fri, 28 Aug 2020 21:56:49 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Disable ocaml support on i386, not reasonable to support it there + (specially for Ubuntu) + * Enable binfmt support before using it in tests, to fix them + + [ Sylvestre Ledru ] + * Also link against -latomic on mipsel to fix + /usr/[...]/atomic_base.h:426: undefined reference to `__atomic_load_8' + for lld to fix the FTBFS + * Fix a FTBFS on armel with libcxx-armhf-ftbfs.diff + atomic:2780:16: error: use of undeclared identifier '__libcpp_signed_lock_free' + typedef atomic<__libcpp_signed_lock_free> atomic_signed_lock_free; + ^ + atomic:2781:16: error: unknown type name '__libcpp_unsigned_lock_free'; did you mean 'atomic_signed_lock_free'? + typedef atomic<__libcpp_unsigned_lock_free> atomic_unsigned_lock_free; + + -- Sylvestre Ledru Tue, 25 Aug 2020 10:44:00 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc2-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 20 Aug 2020 22:17:47 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc1-2) unstable; urgency=medium + + * Don't install ompt-multiplex.h on armhf, mipsel and mips64el + (Closes: #967944) + + -- Sylvestre Ledru Wed, 05 Aug 2020 15:23:25 +0200 + +llvm-toolchain-11 (1:11.0.0~+rc1-1) unstable; urgency=medium + + * Testing release + + -- Sylvestre Ledru Wed, 29 Jul 2020 17:46:57 +0200 + +llvm-toolchain-11 (1:11~++20200715043845+0e377e253c1-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * branching of snapshot into 11 + + [ Samuel Thibault ] + * debian/patches/hurd/hurd-EIEIO-undef.diff: Remove, upstreamed. + * debian/patches/hurd/hurd-cxx-paths.diff: Remove, upstreamed. + + -- Sylvestre Ledru Wed, 15 Jul 2020 16:30:36 +0200 + +llvm-toolchain-snapshot (1:11~++20200701093119+ffee8040534-1~exp1) experimental; urgency=medium + + * New snapshot release + * libc++ requires the LLVM_PATH, adding it + * Remove no-z3.patch, seems to be merged upstream + * No longer install clang-import-test (upstream change) + See https://reviews.llvm.org/D82169 + + -- Sylvestre Ledru Wed, 01 Jul 2020 09:34:28 +0200 + +llvm-toolchain-snapshot (1:11~++20200623122106+cd6848f6e1d-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround + https://bugs.llvm.org/show_bug.cgi?id=45571 + * New symbol clang_Type_getValueType added + * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake + in liblld-11-dev + * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f + broke clangd-atomic-cmake.patch causing some undef symbol on + i386 and atomic + * Also install ompt-multiplex.h in libomp-X-dev + * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks + debian buster + + -- Sylvestre Ledru Tue, 23 Jun 2020 00:24:07 +0200 + +llvm-toolchain-snapshot (1:11~++20200621103028+10b0539772d-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround + https://bugs.llvm.org/show_bug.cgi?id=45571 + * New symbol clang_Type_getValueType added + * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake + in liblld-11-dev + * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f + broke clangd-atomic-cmake.patch causing some undef symbol on + i386 and atomic + * Also install ompt-multiplex.h in libomp-X-dev + * revert-sphinx-deprecation.diff: revert the sphinx update as it breaks debian + buster + * experimental New snapshot release + * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround + https://bugs.llvm.org/show_bug.cgi?id=45571 + * New symbol clang_Type_getValueType added + * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake + in liblld-11-dev + * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f + broke clangd-atomic-cmake.patch causing some undef symbol on + i386 and atomic + + -- Sylvestre Ledru Sun, 21 Jun 2020 10:33:23 +0200 + +llvm-toolchain-snapshot (1:11~++20200520051603+e8f6b0e583c-1~exp1) UNRELEASED; urgency=medium + + * experimental New snapshot release + * Add -DLLVM_POLLY_LINK_INTO_TOOLS=OFF to workaround + https://bugs.llvm.org/show_bug.cgi?id=45571 + * New symbol clang_Type_getValueType added + * Install usr/lib/llvm-11/lib/cmake/lld/*.cmake + in liblld-11-dev + * Upstream change ad97ccf6b26a29262c9cbf5b3e7f6e84c6dcf55f + broke clangd-atomic-cmake.patch causing some undef symbol on + i386 and atomic + * experimental New snapshot release + + -- Sylvestre Ledru Wed, 20 May 2020 17:19:34 +0200 + +llvm-toolchain-snapshot (1:11~++20200411120955+c65e6079fc9-1~exp1) experimental; urgency=medium + + * New snapshot release + * Bring back libc++-experimental + * remove no-cgi.patch - applied upstream + * Also install liblldMachO2.a in liblld + * Reorder the cmake arg + * Update the copyright file with recent changes (Closes: #956287) + Thanks to Michael Lustfield for the detective work + + -- Sylvestre Ledru Sat, 11 Apr 2020 12:27:18 +0200 + +llvm-toolchain-snapshot (1:11~++20200409051253+d08105482e1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Bring back libc++-experimental + * remove no-cgi.patch - applied upstream + * Also install liblldMachO2.a in liblld + * Reorder the cmake arg + * Update the copyright file with recent changes (Closes: #956287) + Thanks to Michael Lustfield for the detective work + + -- Sylvestre Ledru Thu, 09 Apr 2020 17:21:05 +0200 + +llvm-toolchain-snapshot (1:11~++20200307074845+ec1d1f6ae70-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release + * Install clang-tidy headers in libclang-X.Y-dev + Path: usr/lib/llvm-11/include/clang-tidy/ + Introduced upstream in https://reviews.llvm.org/D73236 + + [ Samuel Thibault ] + * hurd/hurd-cxx-paths.diff: Drop part of patch applied upstream, fix it so + it can be applied. + * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on + hurd-any. + + [ Gianfranco Costamagna ] + * Add patch to port from old cgi to new html python3 method + + -- Sylvestre Ledru Sat, 07 Mar 2020 19:51:40 +0100 + +llvm-toolchain-snapshot (1:11~++20200123111717+04fd2041561-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * experimental New snapshot release - 11 + * Merge recent 9 changes (python 3 and testsuite mostly) + + [ Gianfranco Costamagna ] + * fix lldb-10 -P path print (Closes: #945445) + * Fix lldb python installation path and symlinks + * Drop version constraint from libffi-dev library, satisfied since + old-old-stable + + -- Sylvestre Ledru Thu, 23 Jan 2020 14:52:30 +0100 + +llvm-toolchain-10 (1:10.0.1-8) unstable; urgency=medium + + * Don't use gold on ppc64el. It fails to build in that case + (Closes: #972317) + + -- Sylvestre Ledru Sat, 31 Oct 2020 14:13:25 +0100 + +llvm-toolchain-10 (1:10.0.1-7) unstable; urgency=medium + + [ Samuel Thibault ] + * debian/patches/hurd/hurd-cxx-paths.diff: Add missing GCC installation + initialization. + + [ Sylvestre Ledru ] + * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. + * Rebuild to address the incompat issues (Closes: #972282) + + -- Sylvestre Ledru Thu, 22 Oct 2020 22:29:07 +0200 + +llvm-toolchain-10 (1:10.0.1-6) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Add debian/* to the copyright file. Uses the same license + as LLVM + + [ Julien Cristau ] + * Cherry-pick "[PowerPC] PPCBoolRetToInt: Don't translate Constant's + operands". Fixes rustc crash building firefox-esr. + + -- Sylvestre Ledru Wed, 02 Sep 2020 13:55:46 +0200 + +llvm-toolchain-10 (1:10.0.1-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/libPolly*.a on powerpc and + powerpcspe from libclang-common-X.Y-dev.install.in + + [ Gianfranco Costamagna ] + * autopkgtests: ignore binfmts enable command return value. + + -- Gianfranco Costamagna Mon, 31 Aug 2020 12:28:24 +0200 + +llvm-toolchain-10 (1:10.0.1-4) unstable; urgency=medium + + * Fix testsuite by ignoring binfmts test + (can't be enabled on autopkgtests) + + -- Gianfranco Costamagna Fri, 28 Aug 2020 21:54:05 +0200 + +llvm-toolchain-10 (1:10.0.1-3) unstable; urgency=medium + + * Fix testsuite by enabling binfmts support before using it + (the default is disabled) + + -- Gianfranco Costamagna Thu, 27 Aug 2020 12:42:20 +0200 + +llvm-toolchain-10 (1:10.0.1-2) unstable; urgency=medium + + [ Samuel Thibault ] + * patches/hurd/hurd-cxx-paths.diff: Refresh, some of the factorization was + backported from 11 to 10. + + [ Gianfranco Costamagna ] + * debian/patches/mips-force-nomadd4.patch: Apply and rebase patch to disable + nomadd4 on mips* (Closes: #964989) + - thanks Yunqiang Su for the patch + + [ Steve Langasek ] + * Drop ocaml support on i386, which pulls in a series of packages which + is not reasonable to support. + + -- Gianfranco Costamagna Sun, 23 Aug 2020 22:57:55 +0200 + +llvm-toolchain-10 (1:10.0.1-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Tue, 21 Jul 2020 18:29:06 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc4-1) unstable; urgency=medium + + * New RC release (of course, I was wrong) + * Update the binfmt-support postinstall to match what is done elsewhere + in Debian + * Add binfmt-support to one of the autopkgtest tests + And make sure that the test is only executed when installed correctly + Otherwise, fails with + "./foo.bc: cannot execute binary file: Exec format error" + * patches/remove-trailing-space-version.diff: cherry-pick an upstream patch + to address https://bugs.llvm.org/show_bug.cgi?id=38998#c15 + trailing whitespace of clang full version causing a display issue + when building the linux kernel with clang + + -- Sylvestre Ledru Wed, 08 Jul 2020 10:49:26 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc3-1) unstable; urgency=medium + + * New rc release. Should be the last (this is why I am + uploading to unstable) + * Ship with integration-test-suite-test and run it with autopkgtest + integration-test-suite-test is a project started by Serge Guelton + and myself. + The goal is to provide a set of tests to verify that llvm/clang/etc + are working as expected in a distro (Linux, BSD, etc). + But also to bring a set of expectations of what a LLVM toolchain should + looks like when shipping to users. + Serge is taking care of that work for Fedora/Redhat. + + -- Sylvestre Ledru Tue, 07 Jul 2020 09:44:59 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New rc release + * Pass CLANG_VENDOR to CLANG_BOOTSTRAP_PASSTHROUGH + Fix https://bugs.llvm.org/show_bug.cgi?id=38998 + For our friends of https://github.com/ClangBuiltLinux/ + * remove try-to-fix-polly-link.patch and D74453-riscv-atomic_cmp_xchg.diff + (applied upstream) + + -- Sylvestre Ledru Sat, 27 Jun 2020 11:28:28 +0200 + +llvm-toolchain-10 (1:10.0.1~+rc1-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * first rc of 10.0.1 + * Enable LLVM_ENABLE_DUMP (Closes: #956966) + * Move binfmt-support as Recommends llvm-10-runtime + instead of a strong dependencies (Closes: #958127) + * build libc++ with -DLIBCXX_USE_COMPILER_RT=YES + and -DLIBCXXABI_USE_COMPILER_RT=YES + * Remove D76596.diff (merged upstream) + + [ Gianfranco Costamagna ] + * Don't run tests on riscv64/Ubuntu for now, the virtual machines timeout + during testsuite (probably lack of proper capable hardware to run it) + + -- Sylvestre Ledru Tue, 19 May 2020 08:17:26 +0200 + +llvm-toolchain-10 (1:10.0.0-4) unstable; urgency=medium + + * Also ship polly libs in libclang-common-10-dev. + Fixes bug #44870 (upstream) + * move risc patches into their own directory + + -- Sylvestre Ledru Fri, 10 Apr 2020 10:27:41 +0200 + +llvm-toolchain-10 (1:10.0.0-3) unstable; urgency=medium + + * ppc64el/autopkgtest: Just like with arm64, ignore two tests + * Update the copyright file with recent changes (Closes: #956287) + Thanks to Michael Lustfield for the detective work + + [ Jessica Clarke ] + * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on + riscv64. + + [ William Grant ] + * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector + to also check for existence of crtbegin.o in the default multilib dir, + like most other ports. Fixes FTBFS on riscv64, since on Ubuntu + /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is + installed, but libgcc-10-dev is not). + + -- Sylvestre Ledru Thu, 02 Apr 2020 21:48:13 +0200 + +llvm-toolchain-10 (1:10.0.0-2) unstable; urgency=medium + + [ Dimitri John Ledkov ] + * s390x: set default abi to z196 for debian, and z13 for ubuntu. + LP: #1864226 + + [ Matthias Klose ] + * Apply D76596.diff, proposed backport from the trunk. LP: #1867173. + This was causing postgresql to FTBFS with llvm 10 + + -- Gianfranco Costamagna Fri, 27 Mar 2020 05:16:28 +0100 + +llvm-toolchain-10 (1:10.0.0-1) unstable; urgency=medium + + * New release + + -- Sylvestre Ledru Tue, 24 Mar 2020 17:37:07 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc6-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Sixth RC release + * Really fix the arm64 autopkgtest + + [ Gianfranco Costamagna ] + * debian/patches/d21664cce1db8debe2528f36b1fbd2b8af9c9401.patch: + - cherry-pick upstream commit to hopefully unbreak mesa builds + + -- Sylvestre Ledru Mon, 23 Mar 2020 20:39:36 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc5-1) unstable; urgency=medium + + * Fifth RC release + * Make autopkgtest/qualify-clang.sh work on arm64 + + -- Sylvestre Ledru Thu, 19 Mar 2020 15:59:43 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc4-1) unstable; urgency=medium + + * Fourth RC release + * Disable the emmintrin.h build test in qualify-clang.sh on arm64 + * Add some tests for clangd usage + + -- Sylvestre Ledru Fri, 13 Mar 2020 20:42:36 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc3-1) unstable; urgency=medium + + * Third RC release + + -- Sylvestre Ledru Wed, 04 Mar 2020 14:56:12 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-3) unstable; urgency=medium + + * Disable libfuzzer on x86 + https://bugs.llvm.org/show_bug.cgi?id=43677 + FTBFS otherwise + * Add a libclang-cpp10-dev package (needed to unbreak the cmake) + https://bugs.llvm.org/show_bug.cgi?id=42432 + This makes libclang-cpp10 usable and polish the links and dups + * Fix the *clang* desc as C++17 is supported + + -- Sylvestre Ledru Sun, 01 Mar 2020 20:59:25 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Bring back libfuzzer, for some reasons I don't remember + I disabled it: + https://bugs.llvm.org/show_bug.cgi?id=41956 + * Silent the polly tests in debian/qualify-clang.sh + clang (LLVM option parsing): Unknown command line argument + '-polly'. Try: 'clang (LLVM option parsing) --help' + + [ Aurelien Jarno ] + * Also disable hwasan_symbolize on mipsel mips64el riscv64 + + [ Gianfranco Costamagna ] + * Patch to convert old python3 cgi method into the new html one + + -- Sylvestre Ledru Sat, 29 Feb 2020 14:04:22 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-1) unstable; urgency=medium + + * Upload to unstable to get ci.debian.net testing + * Also disable hwasan_symbolize on armel s390x powerpc ppc64 + + -- Sylvestre Ledru Sun, 16 Feb 2020 14:50:53 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc2-1~exp1) experimental; urgency=medium + + * Second RC release + - Should fix the s390x issue (reported upstream) + (Closes: #950900) + * Do not try to install hwasan_symbolize on armhf ppc64el + as it isn't built + (Closes: #950899) + + [ Samuel Thibault ] + * hurd/hurd-cxx-paths.diff: Fix patch so it can be applied. + * clang-tools-X.Y.install.in: Do not try to install hwasan_symbolize on + hurd-any. + + -- Sylvestre Ledru Thu, 06 Feb 2020 10:37:39 +0100 + +llvm-toolchain-10 (1:10.0.0~+rc1-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * fix lldb-10 -P path print (Closes: #945445) + * Fix lldb python installation path and symlinks + * Drop version constraint from libffi-dev library, satisfied since + old-old-stable + + [ Sylvestre Ledru ] + * First RC release + * For now, disable ThinLTO usage because: + - LLVM_ENABLE_LTO doesn't work with gcc >= 9 (option not accepted) + - BOOTSTRAP_LLVM_ENABLE_LTO is producing some large binary + (uses llvm ir instead of binary code) + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943623 + * Thanks to this previous change, don't hardcode gcc 8 + + -- Sylvestre Ledru Mon, 03 Feb 2020 10:30:50 +0100 + +llvm-toolchain-10 (1:10~++20200121023453+de4b2a7fad6-1~exp1) experimental; urgency=medium + + * Branch llvm-toolchain-10 into its own branch + * Merge recent 9 changes (python 3 and testsuite mostly) + + -- Sylvestre Ledru Tue, 21 Jan 2020 14:38:02 +0100 + +llvm-toolchain-snapshot (1:10~+20191229111838+6991d5728f1-1~exp1) experimental; urgency=medium + + * experimental New snapshot release + * Add a '+' in the version (as the old upload is high than the one without) + Will be removed in 11 + * Sync 9 into 10 + * Change of the version layout date+short git version + * Install /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher_static.a + /usr/lib/llvm-@LLVM_VERSION@/lib/libarcher.so in libomp-X-dev + * Install usr/lib/llvm-@LLVM_VERSION@/lib/clang/@LLVM_VERSION_FULL@/bin/hwasan_symbolize in clang-tools-X.Y + * Introduce python3-clang-10 (closes: #942826) + * Remove python-lldb-10 + * Remove Python 2 deps (Closes: #945695) + * Disable the polly testsuite: + - freezing in the current build + - not a big deal if failing + + -- Sylvestre Ledru Sun, 29 Dec 2019 12:47:15 +0100 + +llvm-toolchain-snapshot (1:10~+201911120943210600592dd459242-1~exp1) experimental; urgency=medium + + * Repack to move to git + * Change the versioning scheme to git: + Infos of the last commit + - ~+ (this syntax is to make sure that this version > ~svn) + - date + - hour/minute/second + - short git hash + * Move the checkout of the sources from svn to git + * Use -DLLVM_ENABLE_PROJECTS instead of symlinks + * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of + -DLLVM_ENABLE_LTO (not sure what it wasn't done) + * clang: Force the installation of libclang-cpp with the exact same version + and remove libclang as dep + * Bunch of changes coming from the branch 9 + + -- Sylvestre Ledru Tue, 12 Nov 2019 16:51:40 +0100 + +llvm-toolchain-snapshot (1:10~svn375339-1~exp1) experimental; urgency=medium + + * New snapshot release + * Last upload before the move to git + * lldb-libname.diff: disable for now, seems it that it is now handled + by cmake https://reviews.llvm.org/D68858. TODO: check it still work + * Remove "revert-r373786-libclang-cpp.diff" (applied upstream) + * Add dependency between libclang-cpp => libllvm with the exact version + (Closes: #942526) + * Build using -DCLANG_LINK_CLANG_DYLIB=ON to force the usage of dynamic + library instead of static library when building clang tools. + Decreases the total size from 510M to 278M (amd64) + + -- Sylvestre Ledru Sat, 19 Oct 2019 12:19:36 +0200 + +llvm-toolchain-snapshot (1:10~svn374655-1~exp1) experimental; urgency=medium + + * New snapshot release + * Install pp-trace, clang-move and clang-offload-wrapper in + clang-tools-10 + * Revert + "[clang-tools-extra] [cmake] Link against libclang-cpp whenever + possible" as it introduces a dep from libclang to libclang-cpp + Breaking the symbol list (and people should like to libclang-cpp + if they want to use C++ api) + https://bugs.llvm.org/show_bug.cgi?id=43589 + * Added a check in debian/rules to prevent that from happening again + + -- Sylvestre Ledru Sat, 12 Oct 2019 16:27:53 +0200 + +llvm-toolchain-snapshot (1:10~svn372920-1~exp1) experimental; urgency=medium + + * New snapshot release + * Add two new symbols to libclang1: + - clang_install_aborting_llvm_fatal_error_handler + - clang_uninstall_llvm_fatal_error_handler + * site-packages renamed to dist-packages in python3-lldb-10 + + -- Sylvestre Ledru Sat, 07 Sep 2019 09:07:01 +0200 + +llvm-toolchain-snapshot (1:10~svn370840-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update of the license file. Upstream moved to Apache 2 + with LLVM exception (Closes: #935149) + * Debian moved to gcc-9. This gcc version now refuses -flto="Thin" + Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin" + to mitigate the issue (the argument should be passed only at the + second stage of the build process) + See https://bugs.llvm.org/show_bug.cgi?id=43193 + * Rename libclang-cpp1-10 to libclang-cpp10 to match the soname and libllvm10 + naming (at some point, all libs should do that ...) + * New symbols in libomp5: + - GOMP_loop_nonmonotonic_dynamic_next + - GOMP_loop_nonmonotonic_dynamic_start + - GOMP_loop_nonmonotonic_guided_next + - GOMP_loop_nonmonotonic_guided_start + - GOMP_loop_ull_nonmonotonic_dynamic_next + - GOMP_loop_ull_nonmonotonic_dynamic_start + - GOMP_loop_ull_nonmonotonic_guided_next + - GOMP_loop_ull_nonmonotonic_guided_start + - GOMP_parallel_loop_nonmonotonic_dynamic + - GOMP_parallel_loop_nonmonotonic_guided + * Workaround bug https://bugs.llvm.org/show_bug.cgi?id=42994 + (fails to link on Debian buster) + * for Ubuntu xenial: pass PYTHON_EXE to the stage2 build + + -- Sylvestre Ledru Wed, 04 Sep 2019 11:42:50 +0200 + +llvm-toolchain-snapshot (1:10~svn368740-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + * clangd: fix missing epoch in breaks/replaces relationship + * testsuite, add python, used in some test + * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4 + + [ Aurelien Jarno ] + * Add support for riscv64: + - Always link with -latomic on riscv64. + - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. + - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. + * Document riscv64 debian specific changes in README.source. + + [ Sylvestre Ledru ] + * New snapshot release + * lldb-mi removed + * Ship clangd-10 as a new package (Closes: #932432) + + -- Sylvestre Ledru Tue, 13 Aug 2019 21:37:46 +0200 + +llvm-toolchain-snapshot (1:10~svn368706-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * lldb-mi removed + + [ Gianfranco Costamagna ] + * clangd: fix missing epoch in breaks/replaces relationship + * testsuite, add python, used in some test + * Cherry-pick various fixes from branch 8 and 9, do not break anymore with libllvm3.9v4 + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Tue, 13 Aug 2019 17:55:41 +0200 + +llvm-toolchain-snapshot (1:10~svn366440-1~exp1) experimental; urgency=medium + + * New version in snapshot (10) + + -- Sylvestre Ledru Thu, 18 Jul 2019 18:58:32 +0200 + +llvm-toolchain-9 (1:9.0.1-15) unstable; urgency=low + + * Replace use of deprecated $ADTTMP with $AUTOPKGTEST_TMP. + * Ensure fixfilepath feature is disabled. The fixfilepath + feature sets a -ffile-prefix-map flag, which is only + supported in clang-10. (Closes: #972751). + Thanks to Vagrant Cascadian for the patch + * Don't use gold on ppc64el. It fails to build in that case + (Closes: #972317) + + -- Sylvestre Ledru Sat, 31 Oct 2020 14:09:15 +0100 + +llvm-toolchain-9 (1:9.0.1-14) unstable; urgency=medium + + * debian/patches/b288d90b39f4b905c02092a9bfcfd6d78f99b191.patch: + * debian/patches/3185c30c54d0af5bffbff3bcfd721668d086ff10.patch: + - cherry-pick upstream fixes for ppc64el build failure (Closes: #968174) + * Previous version closed bug: 964988 (Closes: #964988) + + -- Gianfranco Costamagna Sat, 15 Aug 2020 21:53:41 +0200 + +llvm-toolchain-9 (1:9.0.1-13) unstable; urgency=medium + + [ Aurelien Jarno ] + * Add mips-force-nomadd4.diff to default to +nomadd4 on MIPS. (Closes: + #964988) + + [ Ximin Luo ] + * Add 373184.patch to fix soundness issue affecting rustc. (Closes: #959877) + * Add f8e146f3430de3a6cd904f3f3f7aa1bfaefee14c.patch to fix big-endian + miscompilation affecting rustc. + + -- Sylvestre Ledru Tue, 07 Jul 2020 18:18:00 +0200 + +llvm-toolchain-9 (1:9.0.1-12) unstable; urgency=medium + + [ Jessica Clarke ] + * Cherry-pick upstream patch D74453 to fix atomic compare-and-swap on + riscv64. + + [ William Grant ] + * debian/patches/riscv64-multilib-empty.patch: Adjust riscv64 GCC detector + to also check for existence of crtbegin.o in the default multilib dir, + like most other ports. Fixes FTBFS on riscv64, since on Ubuntu + /usr/lib/gcc/riscv64-linux-gnu/10 exists but is empty (gcc-10-base is + installed, but libgcc-10-dev is not). + + -- Jessica Clarke Wed, 01 Apr 2020 16:23:55 +0100 + +llvm-toolchain-9 (1:9.0.1-11) unstable; urgency=medium + + * Allow one to build g++ 9 & 10 to fix a gcc build dependency + (closes: #955144) + And disable thin lto on all archs + It needs gcc-8 after after 8 will reject the -flto=thin arg + And BOOTSTRAP_LLVM_ENABLE_LTO will generate .so with llvm IR instead + of native code + + -- Sylvestre Ledru Tue, 31 Mar 2020 21:11:56 +0200 + +llvm-toolchain-9 (1:9.0.1-10) unstable; urgency=medium + + * debian/patches/947f9692440836dcb8d88b74b69dd379d85974ce.patch: + - cherry-pick upstream fix for glibc 2.31 + + -- Gianfranco Costamagna Sat, 07 Mar 2020 01:01:35 +0100 + +llvm-toolchain-9 (1:9.0.1-9) unstable; urgency=medium + + * Add patch to fix python3.8 test failures with deprecated cgi method, move + to new html parser + + -- Gianfranco Costamagna Tue, 25 Feb 2020 15:28:58 +0100 + +llvm-toolchain-9 (1:9.0.1-8) unstable; urgency=medium + + * Add two new python autopkgtests to avoid regressions in the future + * Fix m68k architecture + * Add Myself to uploaders + * Revert site-packages/dist-packages hacking mv, this is done upstream now + + -- Gianfranco Costamagna Thu, 23 Jan 2020 14:30:57 +0100 + +llvm-toolchain-9 (1:9.0.1-7) unstable; urgency=medium + + * Add dependency on libclang-cpp-9 from llvm-9-dev (Closes: #946761) + * fix lldb-9 -P path print (Closes: #945445) + * Fix lldb python installation path and symlinks + + -- Gianfranco Costamagna Tue, 21 Jan 2020 13:05:06 +0100 + +llvm-toolchain-9 (1:9.0.1-6) unstable; urgency=medium + + * Team upload. + * Add some more python3 shebangs (Closes: #948497) + + -- Gianfranco Costamagna Fri, 10 Jan 2020 09:37:55 +0100 + +llvm-toolchain-9 (1:9.0.1-5) unstable; urgency=medium + + * Install clang in Python3 directory (Closes: #948409) + - thanks Mike Gabriel for the helpful report! + + -- Gianfranco Costamagna Wed, 08 Jan 2020 12:15:06 +0100 + +llvm-toolchain-9 (1:9.0.1-4) unstable; urgency=medium + + * Source only upload to sid + * Force a python3 shebang on python modules to fix testsuite + * Do not run z3 tests if z3 support is not enabled + + -- Gianfranco Costamagna Sat, 04 Jan 2020 08:52:02 +0100 + +llvm-toolchain-9 (1:9.0.1-3) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Build polly docs and manpages only when polly is enabled (Closes: #947236) + + [ Sylvestre Ledru ] + * Introduce python3-clang-9 (closes: #942826) + * Remove python-lldb-9 + * Remove Python 2 deps (Closes: #945695) + + -- Sylvestre Ledru Sun, 29 Dec 2019 12:37:34 +0100 + +llvm-toolchain-9 (1:9.0.1-2) unstable; urgency=medium + + [ James Clarke ] + * Include upstream patch D71028 for rust mips tests (Closes: #946874) + + [ Aurelien Jarno ] + * Include upstream patch D60657 for rust support on riscv64. + + -- James Clarke Fri, 20 Dec 2019 18:30:29 +0000 + +llvm-toolchain-9 (1:9.0.1-1) unstable; urgency=medium + + * New stable release + + -- Sylvestre Ledru Thu, 19 Dec 2019 13:48:21 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc3-2) unstable; urgency=medium + + * Team upload. + [ Gianfranco Costamagna ] + * Commit Breaks/Replaces into git + + [ Julian Andres Klode ] + * Fix llvm-9-tools Breaks/Replaces libclang-common-9-dev (<< 1:9.0.1~+rc2) + (Closes: #946473) + + -- Gianfranco Costamagna Thu, 19 Dec 2019 00:26:04 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc3-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + upload to unstable + * Use secure URI in debian/watch. + * Move source package lintian overrides to debian/source. + * Remove patches force-gcc-header-obj.diff, hurd-pathmax.diff, impl- + path-hurd.diff, libcxxabi-arm-ehabi-fix.patch, libcxxabi-test-don-t- + fail-extended-long-double.patch, revert-change-soname.diff, try-to- + unbreak-thinlto.diff that are missing from debian/patches/series. + * Rely on pre-initialized dpkg-architecture variables. + * Move transitional package libclang-cpp1-9 to oldlibs/optional per + policy 4.0.1. + + [ Aurelien Jarno ] + * llvm-riscv64-fix-cffi.diff: backport patch to fix CFI directives on + riscv64 from master. + + -- Sylvestre Ledru Sat, 14 Dec 2019 12:43:17 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix some paths, upstream moved from site-packages + to dist-packages for python packages + * Move yaml-bench from libclang-common-X.Y-dev to llvm-X.Y-tools where + it belongs + See http://lists.llvm.org/pipermail/llvm-dev/2019-December/137337.html + * Add a project in the cmake-test to silent a warning + (Closes: #945489) + + -- Sylvestre Ledru Tue, 03 Dec 2019 07:56:16 +0100 + +llvm-toolchain-9 (1:9.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Sun, 24 Nov 2019 14:51:29 +0100 + +llvm-toolchain-9 (1:9.0.0-5) UNRELEASED; urgency=medium + + [ Gianfranco Costamagna ] + * Patch cmake files to disable the z3 support in Ubuntu + * Simplify rules file to put -g1 everywhere + + [ Sylvestre Ledru ] + * Add a project in the cmake-test to silent a warning (Closes: #945489) + + -- Gianfranco Costamagna Tue, 26 Nov 2019 09:24:38 +0100 + +llvm-toolchain-9 (1:9.0.0-4) unstable; urgency=medium + + [ Samuel Thibault ] + * hurd-cxx-paths.diff: Re-introduce patch to find C++ headers. + * hurd-EIEIO-undef.diff: Drop patch, already fixed a different way upstream. + * hurd-pathmax.diff: Drop now-useless parts. + + [ Sylvestre Ledru ] + * Add libz3-dev as dependencies on llvm-X.Y-dev (Closes: #943996) + * Update build-dep libpfm4-dev to linux-any. + Thanks to Samuel Thibault for the patch + + [ Gianfranco Costamagna ] + * Add also Ubuntu focal to the gcc-8 arch list + + -- Sylvestre Ledru Tue, 05 Nov 2019 10:30:26 +0100 + +llvm-toolchain-9 (1:9.0.0-3) unstable; urgency=medium + + * Seems to be ok, uploading to unstable + (Closes: #942864) fuzzer issues + (Closes: #943623) libclangIndex.a are llvm ir bitcode + + -- Sylvestre Ledru Thu, 31 Oct 2019 20:36:09 +0100 + +llvm-toolchain-9 (1:9.0.0-3~exp2) experimental; urgency=medium + + [ Weston Ortiz ] + * Remove incorrect Breaks/Conflicts for lldb-9 package + https://bugs.llvm.org/show_bug.cgi?id=43451 + + [ Sylvestre Ledru ] + * disable-fuzzer-compiler-rt.diff: bring back this patch. + Still breaks i386 compiler-rt/fuzzer + Disable fuzzer only for i386 + * Use stage2 files to build the doc. For some reasons, clang-tools-extra + html generation stopped working + * Disable z3 when the version is too old + + -- Sylvestre Ledru Thu, 31 Oct 2019 00:29:09 +0100 + +llvm-toolchain-9 (1:9.0.0-3~exp1) experimental; urgency=medium + + * Revert the change -DBOOTSTRAP_LLVM_ENABLE_LTO to use + -DLLVM_ENABLE_LTO to see if it fixes 943623 + and/or 942864 + Disable disable-fuzzer-compiler-rt.diff to evaluate the whole thing + + -- Sylvestre Ledru Tue, 29 Oct 2019 20:05:38 +0100 + +llvm-toolchain-9 (1:9.0.0-2) unstable; urgency=medium + + * polly, openmp & lldb aren't enabled for every platform + So, add to PROJECTS only when enabled + * clang: Force the installation of libclang-cpp with the exact same version + and remove libclang as dep + * With the github move, libfuzzer is now compiled as part of the build + process. It fails to compile for some unexpected reasons. + As I have been compiling libfuzzer by hand for a while, just still + do this. + See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942864 + https://bugs.llvm.org/show_bug.cgi?id=43677 + disable-fuzzer-compiler-rt.diff + * Disable all kfreebsd patches: + - Needs rebasing on snapshot often + - Didn't build on Debian for a while + - Not forwarded upstream + - No support from the team + + -- Sylvestre Ledru Sun, 20 Oct 2019 17:27:50 +0200 + +llvm-toolchain-9 (1:9.0.0-1) unstable; urgency=medium + + * Repack to move to git + * Move the checkout of the sources from svn to git + * Use -DLLVM_ENABLE_PROJECTS instead of symlinks + * Use -DBOOTSTRAP_LLVM_ENABLE_LTO instead of + -DLLVM_ENABLE_LTO (not sure what it wasn't done) + * Add dependency between libclang-cpp => libllvm with the exact version + (Closes: #942526) + + -- Sylvestre Ledru Sat, 19 Oct 2019 10:30:41 +0200 + +llvm-toolchain-9 (1:9-3) unstable; urgency=medium + + * python-clang-9: missing dependency on libclang-9-dev + (Closes: #941890) + * Enable Z3 solver (llvm & clang) to improve the quality of the static + analysis results + * Do not fail the test suite on the -lclang-cpp failing + I think I need to create a libclang-cpp-dev package to unblock it + (but dunno why it works locally) + + -- Sylvestre Ledru Thu, 17 Oct 2019 18:38:28 +0200 + +llvm-toolchain-9 (1:9-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Enable lldb on s390x too, it builds fine now + * python*lldb, depend on liblldb-9 to avoid failure during import + * Add a basic cmake test to see if the package is imported correctly + + [ Sylvestre Ledru ] + * add a cpuid check + * /disable-lit-cpuid-install.diff: Remove the lit-cpuid from the llvm + install. + It is provided by lldb and we don't want to add this as a new + dep from llvm-dev (Closes: #941082 #941306) + + -- Sylvestre Ledru Thu, 03 Oct 2019 18:14:21 +0200 + +llvm-toolchain-9 (1:9-1) unstable; urgency=medium + + * New release + * Fix the FTBFS on all platform by adding -DCLANG_BUILD_EXAMPLES=OFF + to cmake. + So, the following libs aren't built anymore: + - usr/lib/llvm-9/lib/SampleAnalyzerPlugin.so + - usr/lib/llvm-9/lib/CheckerDependencyHandlingAnalyzerPlugin.so + - usr/lib/llvm-9/lib/CheckerOptionHandlingAnalyzerPlugin.so + + -- Sylvestre Ledru Tue, 24 Sep 2019 21:09:57 +0200 + +llvm-toolchain-9 (1:9~+rc5-1~exp2) experimental; urgency=medium + + * debian/patches/D67877.patch: fix LLVMExports.cmake with upstream-proposed + patch (Closes: #941082) + + -- Gianfranco Costamagna Tue, 24 Sep 2019 18:57:31 +0200 + +llvm-toolchain-9 (1:9~+rc5-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Fri, 13 Sep 2019 14:45:01 +0200 + +llvm-toolchain-9 (1:9~+rc4-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 10 Sep 2019 15:25:46 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp3) experimental; urgency=medium + + * Force gcc before 9 (gcc 8 on Debian unstable) because it causes + huge increase of the size of the .deb (because of .a and .so) and + issues in the libs + (Closes: #939472) + + -- Sylvestre Ledru Fri, 06 Sep 2019 23:27:28 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp2) experimental; urgency=medium + + * Debian moved to gcc-9. This gcc version now refuses -flto="Thin" + Move from LLVM_ENABLE_LTO="Thin" to BOOTSTRAP_LLVM_ENABLE_LTO="Thin" + to mitigate the issue (the argument should be passed only at the + second stage of the build process) + See https://bugs.llvm.org/show_bug.cgi?id=43193 + * Fix a link issue (Closes: #939172) + + -- Sylvestre Ledru Mon, 02 Sep 2019 10:46:45 +0200 + +llvm-toolchain-9 (1:9~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update of the license file. Upstream moved to Apache 2 + with LLVM exception (Closes: #935149) + * remove 0050-Remove-explicit-python-version-list.patch + bug-43011-mips.diff as they are merged upstream + * llvm-9-dev depends on llvm-9-tools + Since https://reviews.llvm.org/D56606, LLVMExports.cmake + requires FileCheck when LLVM_INSTALL_UTILS=ON is enabled (which + is the case here). + See https://bugs.llvm.org/show_bug.cgi?id=43035 + * Also add PYTHON_EXECUTABLE to the CLANG_BOOTSTRAP_PASSTHROUGH option + to fix an issue on xenial + * Add clangd-X => libclang-common-X-dev dependency + See https://bugs.llvm.org/show_bug.cgi?id=43152 + * Remove the -lc++experimental test from the qualify-clang.sh script + as the lib has been removed in 9~svn366022-1~exp1 + * Also install libclang-cpp in /usr/lib/llvm-X/lib/libclang-cpp.so.X + * Improve the fix-clang-path-and-build.diff patch + If this package was built with libclang-common installed on the system, + it could fail with 'use of undeclared identifier' because + #include_next was failing as it was expecting the next header to be + libstdc++ + Now, if the local build headers are found, don't include system's + * Rename libclang-cpp1-9 to libclang-cpp9 to match the soname and libllvm9 + naming (at some point, all libs should do that ...) + + -- Sylvestre Ledru Tue, 27 Aug 2019 23:38:11 +0200 + +llvm-toolchain-9 (1:9~+rc2-1~exp2) experimental; urgency=medium + + * Try to fix the mips* ftbfs + See bug 43011 + + -- Sylvestre Ledru Thu, 22 Aug 2019 18:17:32 +0200 + +llvm-toolchain-9 (1:9~+rc2-1~exp1) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Add back python-* dependencies to fix tools not really ready for python3 + * Fix missing epoch in breaks/replaces + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Wed, 14 Aug 2019 10:36:17 +0200 + +llvm-toolchain-9 (1:9~+rc1-1~exp2) experimental; urgency=medium + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + * Add python to testsuite + + [ Sylvestre Ledru ] + * Move lit-cpuid from llvm-tools to lldb (wrong package) + * Ship clangd-9 as a new package (Closes: #932432) + + [ Aurelien Jarno ] + * Add support for riscv64: + - Always link with -latomic on riscv64. + - patches/clang-riscv64-multiarch.diff: add multiarch paths for riscv64. + - patches/clang-riscv64-rv64gc.diff: default to lp64d ABI and rv64gc ISA. + - patches/libcxx/libcxx-riscv64-cycletimer.diff: backport riscv64 + cycletimer support from upstream. + + -- Sylvestre Ledru Sat, 03 Aug 2019 11:41:07 +0200 + +llvm-toolchain-9 (1:9~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Mon, 29 Jul 2019 22:16:33 +0200 + +llvm-toolchain-snapshot (1:9~svn366022-1~exp1) experimental; urgency=medium + + * New snapshot release + * New symbols in libomp5 added in the symbol file + - __kmpc_omp_target_task_alloc + - __kmpc_task_allow_completion_event + - __kmpc_task_reduction_modifier_fini + - __kmpc_task_reduction_modifier_init + - __kmpc_taskred_init + - __kmpc_taskred_modifier_init + - omp_fulfill_event + - omp_fulfill_event_ + * Bring back bootstrap-fix-include-next.diff which has been removed from + an unknown reason + * Remove libc++experimental.a (seems to be not installed) + * Install python3-setuptools as it seems that lldb moved to python 3 + Was failing with + "ModuleNotFoundError: No module named 'distutils.sysconfig'" + * liblldb.a has been removed upstream + * Ship libclang-cpp1-9 as a new package + * Ship python3-lldb-9 as a new package + + -- Sylvestre Ledru Thu, 18 Jul 2019 15:52:37 +0200 + +llvm-toolchain-snapshot (1:9~svn364913-1~exp1) experimental; urgency=medium + + [ Andreas Beckmann ] + * For now, lld doesn't generate shared libs. Removing the files + (Closes: #857653, LP: #1829677) + + [ Gianfranco Costamagna ] + * Do not enable Thin on armhf for now, it FTBFS + + [ Sylvestre Ledru ] + * Cherry-pick the recent changes from the 8 branch + + -- Sylvestre Ledru Tue, 02 Jul 2019 14:36:52 +0200 + +llvm-toolchain-snapshot (1:9~svn362869-1~exp2) experimental; urgency=medium + + * New snapshot release + * Install clang-scan-deps as part of clang-tools + + -- Sylvestre Ledru Sat, 15 Jun 2019 10:47:18 +0200 + +llvm-toolchain-snapshot (1:9~svn362869-1~exp1) experimental; urgency=medium + + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl to the list of symbols + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and + clang_Cursor_isInlineNamespace to the list of symbols + * lldb-static-assert.diff (revert a patch failing the build) + * New snapshot release + * remove debian/patches/reproducible-pch.diff + done upstream + * No longer install lldb-test (disable upstream in 358574) + * Install lit-cpuid in llvm-9-tools + * libclang-X.Y: add clang_Cursor_isAnonymousRecordDecl and + clang_Cursor_isInlineNamespace to the list of symbols + * Install usr/lib/llvm-9/lib/{SampleAnalyzerPlugin.so, + CheckerDependencyHandlingAnalyzerPlugin.so, + CheckerOptionHandlingAnalyzerPlugin.so} + in libclang-9-dev + * Build using thinlto on non stretch, xenial and trusty + (fails with some undef symbols) + Option -DLLVM_ENABLE_LTO="Thin" added + * WebAssembly is now build by default, remove it from the + experimental list + * check-polly was executed twice + * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7 + (Closes: #930008) + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/LLVM*.so on powerpc and + powerpcspe from llvm-X.Y-dev.install.in + + -- Sylvestre Ledru Sat, 08 Jun 2019 11:12:47 +0200 + +llvm-toolchain-snapshot (1:9~svn358327-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove libc++fs.a (done upstream) + * add clang-doc in clang-tools + * python2.7/site-packages/readline.so removed from liblldb + * libOptRemarks.so has been renamed to libRemarks.so + * new symbol: omp_get_supported_active_levels + + [ Gianfranco Costamagna ] + * Commit Ubuntu delta to 8 and snapshot branches + + [ Matthias Klose ] + * Remove the autopkg test for a genuine LLVM bug. + + -- Sylvestre Ledru Sat, 13 Apr 2019 11:06:00 +0200 + +llvm-toolchain-snapshot (1:9~svn354105-1~exp1) experimental; urgency=medium + + * New snapshot release + + [ John Paul Adrian Glaubitz ] + * Remove usr/lib/llvm-@LLVM_VERSION@/lib/LLVM*.so + from debian/llvm-X.Y-dev.install.in and install + the files conditionally in debian/rules + + -- Sylvestre Ledru Fri, 15 Feb 2019 09:32:35 +0100 + +llvm-toolchain-snapshot (1:9~svn353106-1~exp1) experimental; urgency=medium + + * New snapshot release + * Install lldb-instr-X in lldb-X + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:44:27 +0100 + +llvm-toolchain-snapshot (1:9~svn351420-1~exp2) experimental; urgency=medium + + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:42:28 +0100 + +llvm-toolchain-snapshot (1:9~svn351420-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix a typo in the arch declaration + * Remove patch D54677-hurd-path_max.diff (applied upstream) + * Fix debian-changelog-line-too-long + * Silent source-contains-prebuilt-windows-binary + * Silent executable-not-elf-or-script + usr/lib/llvm-8/share/clang/bash-autocomplete.sh + * Remove unapplied patches: + - D52340-rustc-debuginfo.diff + - D54379-hurd-triple-clang.diff + - hurd-cxx-paths.diff + - openmp-jessie-missing-include.diff + - rustc-aarch64-test-failure.diff + - strip-ignore-deterministic-archives.diff + * Update the list of openmp symbols (added): + - omp_get_device_num + - omp_get_initial_device + - omp_get_num_devices + - __kmpc_pause_resource (from v9) + - omp_pause_resource (from v9) + - omp_pause_resource_all (from v9) + + + -- Sylvestre Ledru Mon, 04 Feb 2019 23:42:20 +0100 + +llvm-toolchain-snapshot (1:9~svn351375-1~exp1) experimental; urgency=medium + + * New snapshot release and move to 9 as upstream branched + * Silent a source lintian warning + source: source-is-missing lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf + * Revert patch D55434 as it is breaking the build on old version of debian/ubuntu + * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore + + -- Sylvestre Ledru Wed, 16 Jan 2019 21:59:29 +0100 + +llvm-toolchain-8 (1:8.0.1-4) unstable; urgency=medium + + * Add clangd-X => libclang-common-X-dev dependency + See https://bugs.llvm.org/show_bug.cgi?id=43152 + + -- Sylvestre Ledru Thu, 29 Aug 2019 09:42:41 +0200 + +llvm-toolchain-8 (1:8.0.1-3) unstable; urgency=medium + + * llvm-tools: depend on python2 packages too, the move to python3 was + premature and broke opt-viewer.py + + -- Gianfranco Costamagna Wed, 07 Aug 2019 15:11:36 +0200 + +llvm-toolchain-8 (1:8.0.1-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * clangd: Fix breaks+replaces missing epoch (Closes: #934016) + * Add python to testsuite, still required by some test + + -- Gianfranco Costamagna Tue, 06 Aug 2019 09:36:11 +0200 + +llvm-toolchain-8 (1:8.0.1-1) unstable; urgency=medium + + * New stable release + * Ship python3-lldb-8 as a new package + * Ship clangd-8 as a new package (Closes: #932432) + + [ Gianfranco Costamagna ] + * Fixed wrong shlib generation of libomp5 library + + -- Sylvestre Ledru Sat, 03 Aug 2019 11:44:29 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc4-2) unstable; urgency=medium + + * Compile against Python 3 + (Closes: #931029) + + -- Christian Biesinger Thu, 18 Jul 2019 14:13:56 -0500 + +llvm-toolchain-8 (1:8.0.1~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Thu, 11 Jul 2019 08:39:38 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc3-1) unstable; urgency=medium + + * New testing release in unstable + + [ Gianfranco Costamagna ] + * Enable thinlto everywhere except armhf + * Drop wrong exit 1 from testsuite + + [ Andreas Beckmann ] + * For now, lld doesn't generate shared libs. Removing the files + (Closes: #857653, LP: #1829677) + + + -- Sylvestre Ledru Fri, 28 Jun 2019 20:15:23 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New testing release + * Only enable thinlto on archs with gold, should fix the ftbfs + * Add libpfm4-dev as build dep + -DLLVM_ENABLE_LIBPFM=ON as it is + needed for llvm-exegesis https://bugs.llvm.org/show_bug.cgi?id=42187 + * Improve the rendering of the qualify-clang.sh testsuite + + -- Sylvestre Ledru Sat, 08 Jun 2019 11:11:39 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc1-1~exp2) experimental; urgency=medium + + * Build using thinlto on non stretch, xenial and trusty + (fails with some undef symbols) + Option -DLLVM_ENABLE_LTO="Thin" added + * WebAssembly is now build by default, remove it from the + experimental list + * check-polly was executed twice + * Move the default ARM arch from arm1176jzf-s (armv6) to cortex-a7 + (Closes: #930008) + + [ John Paul Adrian Glaubitz ] + * Use dh-exec to exclude lib/LLVM*.so on powerpc and + powerpcspe from llvm-X.Y-dev.install.in + + -- Sylvestre Ledru Sun, 19 May 2019 13:31:37 +0200 + +llvm-toolchain-8 (1:8.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Fri, 17 May 2019 08:33:53 +0200 + +llvm-toolchain-8 (1:8-5) unstable; urgency=medium + + * Try another way to address the mips64el issue + + -- Sylvestre Ledru Mon, 13 May 2019 11:36:47 +0200 + +llvm-toolchain-8 (1:8-4) unstable; urgency=medium + + * Try to disable mips64el-fix.diff (struct_kernel_stat_sz) + to workaround a mips issue with some new C{XX}FLAGS + see https://reviews.llvm.org/D59702 + + [ Gianfranco Costamagna ] + * Add Ubuntu eoan to supported ubuntu distro + + -- Sylvestre Ledru Mon, 29 Apr 2019 08:58:57 +0200 + +llvm-toolchain-8 (1:8-3) unstable; urgency=medium + + * Fix the FTBFS on mips (introduced by my previous change) + + -- Sylvestre Ledru Tue, 02 Apr 2019 11:57:08 +0200 + +llvm-toolchain-8 (1:8-2) unstable; urgency=medium + + * Fix the search path on mips64el (which is causing the stage2 + build of mips64el to fail + See https://bugs.llvm.org/show_bug.cgi?id=41204 + + [ Timo Aaltonen ] + * import patches for intel-opencl-clang: they fix various issues + with opengl and clang-8, and are taken from llvm master branch. + - Fix pointer blocks on OpenCL functions, that never pointed to real + functions + - Fix assertion errors on some OpenCL functions + - Refactor a little bit OpenCL calls, by emitting direct block calls. + + -- Gianfranco Costamagna Wed, 20 Mar 2019 14:36:40 +0100 + +llvm-toolchain-8 (1:8-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Tue, 19 Mar 2019 21:57:02 +0100 + +llvm-toolchain-8 (1:8~+rc5-2) unstable; urgency=medium + + * Try to fix a mips64el FTBFS + Cherry-pick of https://patches-gcc.linaro.org/patch/3032/ + + -- Sylvestre Ledru Sun, 17 Mar 2019 20:18:19 +0100 + +llvm-toolchain-8 (1:8~+rc5-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Tue, 12 Mar 2019 12:27:41 +0100 + +llvm-toolchain-8 (1:8~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Sun, 10 Mar 2019 11:06:14 +0100 + +llvm-toolchain-8 (1:8~+rc3-1~exp1) unstable; urgency=medium + + * New snapshot release + * Activate -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN for all + gcc + + -- Sylvestre Ledru Thu, 28 Feb 2019 12:33:57 +0100 + +llvm-toolchain-8 (1:8~+rc2-1~exp3) UNRELEASED; urgency=medium + + [ Gianfranco Costamagna ] + * Commit Ubuntu delta to 8 and snapshot branches + + [ Matthias Klose ] + * Remove the autopkg test for a genuine LLVM bug. + + -- Gianfranco Costamagna Wed, 06 Mar 2019 10:16:17 +0100 + +llvm-toolchain-8 (1:8~+rc2-1~exp1) unstable; urgency=medium + + * New snapshot release + * Add support for kfreebsd (Closes: #921246) + Many thanks to Svante Signell for all patches + + -- Sylvestre Ledru Thu, 07 Feb 2019 17:09:15 +0100 + +llvm-toolchain-8 (1:8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + + -- Sylvestre Ledru Thu, 24 Jan 2019 08:49:34 +0100 + +llvm-toolchain-8 (1:8~svn351401-1~exp1) experimental; urgency=medium + + * New snapshot release (branch 8 created) + * Silent a source lintian warning + source: source-is-missing + lldb/lit/Modules/ELF/Inputs/PT_LOAD-overlap-section.elf + * Revert patch D55434 as it is breaking the build on old version of + debian/ubuntu + * Remove BugpointPasses.so & TestPlugin.so as they don't ship anymore + + -- Sylvestre Ledru Thu, 17 Jan 2019 08:24:19 +0100 + +llvm-toolchain-8 (1:8~svn350834-1~exp2) UNRELEASED; urgency=medium + + * Remove patch D55434-revert.diff as the regression has been fixed upstream + + -- Sylvestre Ledru Thu, 17 Jan 2019 09:16:03 +0100 + +llvm-toolchain-snapshot (1:8~svn348749-1~exp2) experimental; urgency=medium + + * New symbols in openmp: + - OMP_NULL_ALLOCATOR + - __kmpc_alloc + - __kmpc_free + - __kmpc_get_default_allocator + - __kmpc_omp_reg_task_with_affinity + - __kmpc_set_default_allocator + - omp_alloc + - omp_capture_affinity + - omp_cgroup_mem_alloc + - omp_const_mem_alloc + - omp_default_mem_alloc + - omp_display_affinity + - omp_free + - omp_get_affinity_format + - omp_get_default_allocator + - omp_high_bw_mem_alloc + - omp_large_cap_mem_alloc + - omp_low_lat_mem_alloc + - omp_pteam_mem_alloc + - omp_set_affinity_format + - omp_set_default_allocator + - omp_thread_mem_alloc + - ompc_capture_affinity + - ompc_display_affinity + - ompc_get_affinity_format + - ompc_set_affinity_format + + -- Sylvestre Ledru Tue, 18 Dec 2018 18:09:48 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate + a permission issue + * Remove dbgsym packages from debci because of bug #917528 + + [ Gianfranco Costamagna ] + * Ignore a test result on i386, due to upstream bug 26580#c18 + + -- Sylvestre Ledru Wed, 02 Jan 2019 12:37:45 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * New snapshot release + * Merge changes from 7 into snapshot + + -- Sylvestre Ledru Mon, 10 Dec 2018 10:56:16 +0100 + +llvm-toolchain-snapshot (1:8~svn346586-1~exp1) experimental; urgency=medium + + * New snapshot release + * Also install libOptRemarks.so + * Merge all the recent 7 changes into snapshot + (Closes: #913058) the co install issue with libc++ & openmp + + -- Sylvestre Ledru Sat, 10 Nov 2018 15:14:15 +0100 + +llvm-toolchain-snapshot (1:8~svn345569-1~exp1) experimental; urgency=medium + + [ Sylvestre Ledru ] + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Fix the autopkgtest script (no gcc in the test) + * remove dep from lld to llvm-8-dev because lld + doesn't use LLVM LTO + * remove old Replaces/Breaks + * Standards-Version: 4.2.1 + * Backport a fix to improve scan-build code error. + Thanks to Roman Lebedev for the fix(Closes: #909662) + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Install bash-completion for clang + * Disable ocaml on armel + + [ Gianfranco Costamagna ] + * Take option two in bug #877567 to fix FTBFS on mips and mipsel + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Tue, 30 Oct 2018 08:31:14 +0100 + +llvm-toolchain-7 (1:7.0.1-3) unstable; urgency=medium + + * Also install clang-7-dbgsym libclang1-7-dbgsym in autopkgtest + to verify that debug symbols are present + * Cherry-pick upstream fix D52340 to address a rustc debuginfo + (Closes: #917209) + * Change the jit debug path from $HOME/.debug/jit/ to + $TMPDIR/.debug/jit/ (Closes: #916393) + * Document in README.source some Debian/Ubuntu specific changes + + -- Sylvestre Ledru Wed, 26 Dec 2018 22:57:45 +0100 + +llvm-toolchain-7 (1:7.0.1-2) unstable; urgency=medium + + * Enable -DENABLE_LINKER_BUILD_ID:BOOL=ON as, unlike gcc, isn't enabled + by default in clang. Thanks to Adrian Bunk for the patch. + Once more, thanks to Rebecca Palmer (Closes: #916975) + * Build with -g1 also on 64bit architectures (thanks to Adrian too) + + -- Sylvestre Ledru Fri, 21 Dec 2018 17:07:44 +0100 + +llvm-toolchain-7 (1:7.0.1-1) unstable; urgency=medium + + * New release + * Remove the dbg workaround. Hopefully, the new version of + binutils will fix it (Closes: #913946) + + -- Sylvestre Ledru Sun, 16 Dec 2018 13:07:54 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc3-2) unstable; urgency=medium + + * Fix llvm-config by stripping unnecessary flags + See also https://bugs.llvm.org/show_bug.cgi?id=8220 + (Closes: #697755, #914838) + * Try to workaround the debug issues by adding -fno-addrsig to the *FLAGS + One more time, thanks to Rebecca Palmer (Closes: #913946) + The goal is to provide correct debug packages. + Workaround https://sourceware.org/bugzilla/show_bug.cgi?id=23788 + * Force the chmod +x on llvm-X/bin/* because it was sometimes removed + by the strip process + * Force the link to atomic also for i386 as it fails on Debian jessie too + * Improved the debian/patches/series presentation by creating categories + * Improve the separation between *FLAGS for gcc and clang. + This is done for -fno-addrsig as it doesn't exit for gcc + This can be done with the BOOTSTRAP_CMAKE_CXX_FLAGS option + + -- Sylvestre Ledru Mon, 10 Dec 2018 03:49:59 -0500 + +llvm-toolchain-7 (1:7.0.1~+rc3-1) unstable; urgency=medium + + * New testing release + * disable the llvm-strip as it created too big llvm lib + + [ John Paul Adrian Glaubitz ] + * Add patch to add powerpcspe support to clang + * Add patch to fix register spilling on powerpcspe + * Add patch to optimize double parameter calling setup on powerpcspe + + -- Sylvestre Ledru Sat, 08 Dec 2018 07:29:59 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-8) unstable; urgency=medium + + * Use llvm-strip instead of binutils strip. + Two reasons: + - with clang stage2, the dbg packages were not generated + - strip fails on stretch and other ubuntu on some archives + For this, I had to silent the --enable-deterministic-archives + option (https://bugs.llvm.org/show_bug.cgi?id=39789). + Thanks to Rebecca Palmer for the idea + (Closes: #913946) + * Change the i386 base line to avoid using sse2 extension + This is more important now that llvm is built with clang + instead of gcc. + Thanks to Fanael Linithien for the patch + (Closes: #914770, #894840) + + -- Sylvestre Ledru Sat, 01 Dec 2018 11:18:39 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-7) unstable; urgency=medium + + * Bring back mips-rdhwr.diff as it isn't in rc2 + + -- Sylvestre Ledru Sun, 25 Nov 2018 17:00:31 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-6) unstable; urgency=medium + + [ Samuel Thibault ] + * D53557-hurd-self-exe-realpath.diff: Fix paths returned by + llvm-config (See Bug#911817). + + [ Sylvestre Ledru ] + * Fix the FTBFS on armhf for real! Thanks to Adrian Bunk + Force the activation of FeatureVFP3 & FeatureD16 + + -- Sylvestre Ledru Sat, 24 Nov 2018 09:12:26 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-5) unstable; urgency=medium + + [ Samuel Thibault ] + * D54079-hurd-openmp.diff, D54338-hurd-libcxx-threads-build.diff, + D54339-hurd-libcxx-threads-detection.diff, D54378-hurd-triple.diff, + D54379-hurd-triple-clang.diff, D54677-hurd-path_max.diff, + hurd-cxx-paths.diff: New patches to fix hurd build. + + [ Sylvestre Ledru ] + * Remove mips-rdhwr.diff as it has been applied upstream + * Fix a baseline violation on armhf (Closes: #914268) + clang-arm-default-vfp3-on-armv7a.patch has been updated to disable + neon in another place + + -- Sylvestre Ledru Wed, 21 Nov 2018 09:45:00 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-4) unstable; urgency=medium + + * Workaround the build issues on armhf + Thanks to Adrian Bunk for the idea + * Remove useless symlink /usr/include/c++ -> ../lib/llvm-7/include/c++ + (Closes: #913400) + + -- Sylvestre Ledru Fri, 16 Nov 2018 22:46:29 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-3) unstable; urgency=medium + + * Disable gold for sparc* (Closes: #913260) + * Hide a symbol in openmp for mips64el + * Try to integrate a patch to make pch reproducible + Thanks to Rebecca Palmer for the patch + (Closes: #877359) + * Fix the misscompilation issue causing rustc to crash (Closes: #913271) + Might cause some ABI issues but no real good solution. + See https://bugs.llvm.org/show_bug.cgi?id=39427 + + -- Sylvestre Ledru Thu, 08 Nov 2018 20:50:39 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-2) unstable; urgency=medium + + * Fix a non-break space in a patch (Closes: #913213) + + -- Sylvestre Ledru Thu, 08 Nov 2018 09:28:36 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-1) unstable; urgency=medium + + * Upload of 7.0.1 rc2 into unstable + * New testing release + * Enable the stage2 bootstrap: + - stage1 = build clang with gcc + - stage2 = clang building itself + (Closes: #909234) + * Bring back the Disable NEON generation on armhf patch which was gone + Should fix the FTBFS on armhf + (Closes: #842142) + * Update the clang manpage to remove osx specific options + and to add -arch (Closes: #743133) + * Bring back usr/lib/@DEB_HOST_MULTIARCH@/{libiomp5.so, libomp5.so} + symlink for gcc (Closes: #912641) + + -- Sylvestre Ledru Wed, 07 Nov 2018 15:17:41 +0100 + +llvm-toolchain-7 (1:7.0.1~+rc2-1~exp1) experimental; urgency=medium + + * New testing release + + -- Sylvestre Ledru Mon, 05 Nov 2018 23:38:34 +0100 + +llvm-toolchain-7 (1:7-9) unstable; urgency=medium + + * Remove the dump of cmake error file (too confusing) + * Try to fix the bootstrap FTBFS : + - on armel by forcing the link to -latomic + - mips-rdhwr.diff: backport D51773 to fix an + assembly issue on mips. + Thanks to jrtc27 for finding the issue. + + -- Sylvestre Ledru Sun, 04 Nov 2018 18:07:23 +0100 + +llvm-toolchain-7 (1:7-8) unstable; urgency=medium + + * Update the watch file to display the right version + (even if the download will fail) + * clang-7 suggests libomp-7-dev instead of libomp-dev + * Make sure that we don't conflict openmp & libc++ with llvm-defaults's + (Closes: #912544) + * Handle better the non coinstability of openmp & libc++ (like we are doing + with python-clang-*) + * Backport upstream fix D51749 to address a rust aarch64 issues + (Closes: #909705) + * Add tests from old bugs to make sure they don't come back + (Closes: #889832, #827866) + * The sanitizers use the versioned llvm-symbolizer provided by the + llvm-X package (Closes: #753572) + + -- Sylvestre Ledru Sat, 20 Oct 2018 16:00:58 +0200 + +llvm-toolchain-7 (1:7-7~exp2) experimental; urgency=medium + + * clangd-atomic-cmake.patch: Link against atomic for clangd in i386 + * When the cmake configure of the stage2 is failing, dump the cmake error log + * Declare some variables (-Wno-*) for all platforms (was failing on mips) + * Update the watch file to display the right version + (even if the download will fail) + * clang-7 suggests libomp-7-dev instead of libomp-dev + * Make sure that we don't conflict openmp & libc++ with llvm-defaults's + (Closes: #912544) + * Handle better the non coinstability of openmp & libc++ (like we are doing + with python-clang-*) + * Backport upstream fix D51749 to address a rust aarch64 issues + (Closes: #909705) + * Add tests from old bugs to make sure they don't come back + (Closes: #889832, #827866) + * The sanitizers use the versioned llvm-symbolizer provided by the + llvm-X package (Closes: #753572) + + -- Sylvestre Ledru Sun, 21 Oct 2018 18:34:20 +0200 + +llvm-toolchain-7 (1:7-7~exp1) experimental; urgency=medium + + * Experiment the clang bootstrap + * Try to bootstrap clang using clang + + -- Sylvestre Ledru Wed, 17 Oct 2018 20:15:57 +0200 + +llvm-toolchain-7 (1:7-7) unstable; urgency=medium + + [ Samuel Thibault ] + * Apply hurd fixes (Closes: #908847). + - hurd-lib_Support_Unix_Path.inc.diff + - hurd-pathmax.diff + - hurd-tools_llvm-shlib_CMakeLists.txt.diff + + -- Sylvestre Ledru Thu, 18 Oct 2018 16:50:58 +0200 + +llvm-toolchain-7 (1:7-6) unstable; urgency=medium + + * Team upload + * Upload to unstable + + -- Gianfranco Costamagna Wed, 17 Oct 2018 11:00:09 +0200 + +llvm-toolchain-7 (1:7-6~exp2) experimental; urgency=medium + + * Disable for now the bootstrapping clang patches + + -- Gianfranco Costamagna Tue, 16 Oct 2018 15:00:46 +0200 + +llvm-toolchain-7 (1:7-6~exp1) experimental; urgency=medium + + * Try to bootstrap (currently in a different branch) + * Split the builds in different make target + * Add python-pygments as dep of llvm-7-tools because + opt-viewer.py needs it + * Add back libomp5-X.Y.symbols.in (untested) + * Fix the install of clang bash completion + * Start the work on bootstrapping clang + - bootstrap-with-openmp-version-export-missing.diff: fix a link issue + https://bugs.llvm.org/show_bug.cgi?id=39200 + - bootstrap-fix-include-next.diff: Fix an include issue at bootstrap phase + https://bugs.llvm.org/show_bug.cgi?id=39162 + + [ Gianfranco Costamagna ] + * Take option two in bug #877567 to fix FTBFS on mips and mipsel + + -- Sylvestre Ledru Sat, 06 Oct 2018 23:04:24 +0200 + +llvm-toolchain-7 (1:7-5) unstable; urgency=medium + + * In debci, run qualify-clang.sh in verbose mode + * Only run the g++ test if g++ exist + + [ Reshabh Sharma ] + * Run check-openmp to test OpenMP + + -- Sylvestre Ledru Sat, 06 Oct 2018 08:25:48 +0200 + +llvm-toolchain-7 (1:7-4) unstable; urgency=medium + + * Backport a fix to improve scan-build code error. + Thanks to Roman Lebedev for the fix(Closes: #909662) + * Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + * Install bash-completion for clang + * Disable ocaml on armel + + -- Sylvestre Ledru Wed, 26 Sep 2018 14:32:41 +0100 + +llvm-toolchain-7 (1:7-3) unstable; urgency=medium + + * Fix a syntax issue in a scan-build patch + * Fix the autopkgtest script (no gcc in the test) + * remove dep from lld to llvm-7-dev because lld + doesn't use LLVM LTO + * remove old Replaces/Breaks + * Standards-Version: 4.2.1 + + -- Sylvestre Ledru Fri, 21 Sep 2018 22:48:47 +0200 + +llvm-toolchain-7 (1:7-2) unstable; urgency=medium + + * Fix the ftbfs under armel on libc++ and enable openmp on armel. + Thanks to Adrian Bunk for the patch + * Make libc++, libc++abi & openmp NOT co-installable + Rational: the benefits are limited compared to the drawback. + We should have issues like: + - built with libc++-8-dev + - run with libc++1-7 + (Closes: #903802) + * Remove circular dependency by removing python-lldb-7: Depends: liblldb-7-dev + (Closes: #888889) + + -- Sylvestre Ledru Wed, 19 Sep 2018 14:12:34 +0200 + +llvm-toolchain-snapshot (1:8~svn342269-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * libc++-8-dev doesn't provide libstdc++-dev anymore (Closes: #908738) + * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707) + * Only rename libomp when openmp is built + + [ Gianfranco Costamagna ] + * Force polly cmake removal on arch:all because of --fail-missing + + [ Reshabh Sharma ] + * Make OpenMP packages coinstallable from version 7 + * Make libc++ packages coinstallable from version 7 + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing MultiArch include dir + on powerpcspe (Closes: #908791) + * Disable LLDB on riscv64 + * Fix inverted logic in ifeq statement for POLLY_ENABLE + and OPENMP_ENABLE (Closes: #908646) + * Disable OpenMP on unsupported architecture x32 + * Add patch to fix missing include and library paths on x32 + + [ Gianfranco Costamagna ] + * Install polly only on arch:all packages + * Drop gnustep and gnustep-devel suggestions (Closes: #902847) + * Enable polly on s390x + * Disable omp on armel mips and mipsel for now + + -- Sylvestre Ledru Fri, 14 Sep 2018 21:56:57 +0200 + +llvm-toolchain-snapshot (1:8~svn340819-1) unstable; urgency=medium + + * New snapshot release + * Force sphinx to be >> 1.2.3 + * also ignore libc++experimental.a on dh_strip (fails on stretch) + * Make libc++-8-dev & libc++abi-8-dev coinstallable + * Remove libtool flex, bison, dejagnu, tcl, expect, + and perl from the build deps (testing) + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + * branching to version 8 + - New symbols in libclang: + clang_Cursor_getObjCPropertyGetterName + clang_Cursor_getObjCPropertySetterName + clang_Type_getModifiedType + clang_Type_getNullability + clang_Type_getNumObjCProtocolRefs + clang_Type_getNumObjCTypeArgs + clang_Type_getObjCObjectBaseType + clang_Type_getObjCProtocolDecl + clang_Type_getObjCTypeArg + * python-recommonmark is a new build dep for the sphinx doc + * dh_strip should be verbose + * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a + & libc++abi.a because it segfaults + * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers" + * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package + libomp5-7) (>= 1:7~svn298832-1~)" + * Also use the local cmake binary if available (for trusty) + and take in account the PRE_PROCESS_CONF option + * Try to fix a FTBFS on jessie with openmp + + [ Gianfranco Costamagna ] + * Add liblldb-8-dev to python-lldb runtime dependencies, needed to import it + * Enable lld on arm64, mips64el + * Enable lldb on mips64el + * Enable lld on ppc64el + + [ John Paul Adrian Glaubitz ] + * Don't build with ld.gold on powerpcspe + * Disable polly on powerpcspe + * Add upstream patch to make rustc build on powerpc + + [ Reshabh Sharma ] + * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672) + As part of this work, the transition libiomp packages have been removed. + + -- Sylvestre Ledru Tue, 28 Aug 2018 16:28:24 +0200 + +llvm-toolchain-7 (1:7.1.0~svn353565-1~exp1) UNRELEASED; urgency=medium + + * New stable release. + To be clear, this is the same as release 7.0.1 + To be ABI compliant in Debian between 7 and 7.0.1, + I took the pr39427-misscompile.diff. + 7.1.0 is an official release for downstream users to bring + back the ABI compatibility. + I am uploading this new version in the archive to: + - avoid question like "why we don't have 7.1.0 in the archive?" + - align with upstream + - clearly show that we kept the ABI + Upstream decided to rename the library from 7 to 7.1.0 + As I kept the ABI, I reverted the patches (debian/patches/7.1.0/*) + More info on https://bugs.llvm.org/show_bug.cgi?id=39427 + and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913271 + + -- Sylvestre Ledru Sat, 09 Feb 2019 16:34:12 +0100 + +llvm-toolchain-7 (1:7.0.1-7) unstable; urgency=medium + + * kfreebsd/kfreebsd-triple-clang.diff: update of the patch to fix + the kfreebsd FTBFS (Closes: #921246) + * Enable ld gold for kfreebsd-amd64 and kfreebsd-i386 + Many thanks to Svante Signell for the two updates + + -- Sylvestre Ledru Thu, 07 Feb 2019 17:17:40 +0100 + +llvm-toolchain-7 (1:7.0.1-6) unstable; urgency=medium + + * Add support for kfreebsd (Closes: #921246) + Many thanks to Svante Signell for all patches + + -- Sylvestre Ledru Sun, 03 Feb 2019 17:27:51 +0100 + +llvm-toolchain-7 (1:7.0.1-5) unstable; urgency=medium + + * Add 'Rules-Requires-Root: no' in debian/control + * llvm-7-examples: Force the same version of llvm-7-dev to mitigate + a debci issue + https://ci.debian.net/data/autopkgtest/unstable/amd64/l/llvm-toolchain-7/1635547/log.gz + * Add 'Rules-Requires-Root: no' in debian/control + * Because more and more tools in clang-tools are in python, add + the dependency + + -- Sylvestre Ledru Fri, 04 Jan 2019 16:00:41 +0100 + +llvm-toolchain-7 (1:7.0.1-4) unstable; urgency=medium + + * On old Debian/Ubuntu, run dh_strip using fakeroot to mitigate + a permission issue + + [ Gianfranco Costamagna ] + * Ignore a test result on i386, due to upstream bug 26580#c18 + + * Stable release + * Also manages clang-X as tool for scan-build + see https://reviews.llvm.org/D52151 + + -- Sylvestre Ledru Mon, 17 Sep 2018 13:51:03 +0200 + +llvm-toolchain-7 (1:7~+rc3-5) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing include and library paths on x32 + + [ Sylvestre Ledru ] + * Only rename libomp when openmp is built + + -- John Paul Adrian Glaubitz Fri, 14 Sep 2018 19:54:38 +0200 + +llvm-toolchain-7 (1:7~+rc3-4) unstable; urgency=medium + + [ Sylvestre Ledru ] + * libc++-7-dev doesn't provide libstdc++-dev anymore (Closes: #908738) + + [ Gianfranco Costamagna ] + * Force polly cmake removal on arch:all because of --fail-missing + + [ Reshabh Sharma ] + * Make OpenMP packages coinstallable from version 7 + * Make libc++ packages coinstallable from version 7 + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing MultiArch include dir + on powerpcspe (Closes: #908791) + * Disable LLDB on riscv64 + + -- Sylvestre Ledru Fri, 14 Sep 2018 11:27:28 +0200 + +llvm-toolchain-7 (1:7~+rc3-3) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable OpenMP on unsupported architecture x32 + + [ Sylvestre Ledru ] + * Build llvm using -DLLVM_USE_PERF=yes (Closes: #908707) + + [ Gianfranco Costamagna ] + * Install polly only on arch:all packages + + -- Gianfranco Costamagna Thu, 13 Sep 2018 09:31:29 +0200 + +llvm-toolchain-7 (1:7~+rc3-2) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Fix inverted logic in ifeq statement for POLLY_ENABLE + and OPENMP_ENABLE (Closes: #908646) + + [ Gianfranco Costamagna ] + * Drop gnustep and gnustep-devel suggestions (Closes: #902847) + * Enable polly on s390x + * Disable omp on armel mips and mipsel for now + + -- Gianfranco Costamagna Wed, 12 Sep 2018 10:58:12 +0200 + +llvm-toolchain-7 (1:7~+rc3-1) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Disable OpenMP on unsupported architectures powerpc, + powerpcspe, riscv64 and sparc64 (Closes: #907912) + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Mon, 10 Sep 2018 17:01:25 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp3) experimental; urgency=medium + + * Remove libtool flex, bison, dejagnu, tcl, expect, + and perl from the build deps (testing) + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + + [ Gianfranco Costamagna ] + * Fix build on armhf, by removing some installed package + * Fix build on s390x, by disabling OpenMP + * Add liblldb-7-dev to python-lldb runtime dependencies, needed to import it + * Enable lld on arm64, mips64el + * Enable lldb on mips64el + + [ Reshabh Sharma ] + * Add version for libc++ and OpenMP packages breaks/replaces + * Remove libc++-helpers package + - No real value + - Just two scripts + - Command line arguments aren't that complex + * Fix autopkgtest support + + -- Sylvestre Ledru Mon, 03 Sep 2018 09:16:22 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp2) experimental; urgency=medium + + * Force sphinx to be >> 1.2.3 + * Also ignore libc++experimental.a on dh_strip (fails on stretch) + * Make libc++-7-dev & libc++abi-7-dev coinstallable + + [ John Paul Adrian Glaubitz ] + * Don't build with ld.gold on powerpcspe + * Disable polly on powerpcspe + * Add upstream patch to make rustc build on powerpc + + [ Gianfranco Costamagna ] + * Enable lld on ppc64el + + -- Sylvestre Ledru Mon, 27 Aug 2018 10:57:41 +0200 + +llvm-toolchain-7 (1:7~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * dh_strip should be verbose + * On Stretch (binutils 2.28), do not run strip on libFuzzer.a, libc++.a + & libc++abi.a because it segfaults + * Fixed "weak-library-dev-dependency libc++-7-dev on libc++-7-helpers" + * Fixed "libomp5-7: shlibs-declares-dependency-on-other-package + libomp5-7) (>= 1:7~svn298832-1~)" + * Also use the local cmake binary if available (for trusty) + and take in account the PRE_PROCESS_CONF option + + [ Reshabh Sharma ] + * Fixed "Lintian warnings for libc++abi-7-dev package" + - Warning: libc++abi-7-dev: breaks-without-version libc++-dev + - Warning: libc++abi-7-dev: breaks-without-version libc++abi-dev + - Warning: llvm-toolchain-7 source: binaries-have-file-conflict + libc++abi-7-dev libc++abi1-7 usr/lib/llvm-7/lib/libc++abi.so + + -- Sylvestre Ledru Thu, 16 Aug 2018 17:49:31 +0200 + +llvm-toolchain-7 (1:7~+rc1-1~exp2) experimental; urgency=medium + + * Disable force-gcc-header-obj.diff as it is introducing + some regressions in the search headers + (Closes: #903709) + * libc++-7-dev should depend on libc++-7-helpers (and not + libc++-helpers) + * Fix the links in the helper package + + [ Reshabh Sharma ] + * Fix the path to libc++ header + * libc++.so was in two packages + + -- Sylvestre Ledru Wed, 15 Aug 2018 15:27:57 +0200 + +llvm-toolchain-7 (1:7~+rc1-1~exp1) experimental; urgency=medium + + * First testing release of 7 + - Rename packages + - Update the VCS-* URL + * Standards-Version to 4.2.0 + + [ Dimitri John Ledkov ] + * Enable lldb on ppc64el LP: #1777136 + + [ Reshabh Sharma ] + * Integrate libcxx and libcxxabi as part of the llvm-toolchain packages + Very similar to the previous packages + except that libc++abi-7-test & libc++-7-test are no longer shipped + Outcome of the LLVM GSoC 2018 + (Closes: #813673) + + -- Sylvestre Ledru Tue, 07 Aug 2018 19:25:09 +0200 + +llvm-toolchain-snapshot (1:7~svn336894-1~exp1) experimental; urgency=medium + + [ Reshabh Sharma ] + * Integrate opemp as part of the llvm-toolchain packages (Closes: #813672) + As part of this work, the transition libiomp packages have been removed. + + [ Sylvestre Ledru ] + Bravo to Reshabh Sharma for his work + * Also ship diagtool in clang-tools-X + * Also ship hmaptool in clang-tools-X + * Enable WebAssembly & AVR as experimental archs (Closes: #899202) + * d/p/force-gcc-header-obj.diff Fix the detection of the objc path + * clang_getCompletionFixIt, clang_getCompletionNumFixIts & getTokenclang + added as new symbols of libclang1 + * Fix the version with snapshot packages + Fixes upstream issue https://bugs.llvm.org/show_bug.cgi?id=37729 + + [ Gianfranco Costamagna ] + * Bump std-version to 4.1.5, no changes required + + [ Reshabh Sharma ] + * Updated debian/control with breaks, provides and conflicts for OpenMP + packages (Closes: #903802) + + -- Sylvestre Ledru Wed, 09 May 2018 14:23:49 +0200 + +llvm-toolchain-snapshot (1:7~svn330801-1~exp2) experimental; urgency=medium + + * d/p/force-gcc-header-obj.diff Fix the detection of the objc path + * Add python-yaml as dep for clang-tidy (Closes: #890514) + * d/p/impl-path-hurd.diff: Try to fix an issue with hurd + + [ Peter Wu ] + * Make CMake find_package(Clang) work. Fixes upstream bug + https://bugs.llvm.org/show_bug.cgi?id=37128 + - Move Clang*.cmake back to /usr/lib/llvm-X.Y/lib/cmake/clang and install a + symlink in /usr/lib/cmake/clang-X.Y. + - Ensure that the LLVM installation prefix is correctly discovered despire + symlinks (replaces fix-cmake-config-prefix.diff). + - Create /usr/lib/llvm-X.Y/bin/clang-X.Y symlink as required by + ClangTargets-relwithdebinfo.cmake. + - Remove useless LLVM_CMAKE_DIR sed command that did not match anything. + - Ignore missing binaries in ClangTargets-relwithdebinfo.cmake. + + -- Sylvestre Ledru Mon, 07 May 2018 23:27:26 +0200 + +llvm-toolchain-6.0 (1:6.0.1~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix a typo in the debci + + -- Sylvestre Ledru Thu, 26 Apr 2018 08:02:09 +0200 + +llvm-toolchain-6.0 (1:6.0-3) unstable; urgency=medium + + * Remove sysconf_interceptor_bypass_test.cc because it makes + Debian unstable and Ubuntu bionic freeze + * Remove the info text from the manpages (Closes: #894734) + * Remove a bunch of old unused patches + * Fix debian-watch-uses-insecure-uri as upstream has now https + * Standards-Version updated to 4.1.3 + * llvm-dsymutil has been renamed to dsymutil + * Remove sysconf_interceptor_bypass_test.cc because it makes + Debian unstable and Ubuntu bionic freeze + * library-binary-filename.diff removed (applied upstream) + * Add clang_File_tryGetRealPathName as new symbol in libclang + + [ Reshabh Sharma ] + * Enable autopkgtest for amd64 & i386 on the llvm test suite + (Closes: #774294) + + [ Nicholas D Steeves ] + * Fix the lintian error 'privacy-breach-uses-embedded-file' + (Closes: #829361) + + [ Athos Ribeiro ] + * Create symlink to run-clang-tidy-X.Y.py to remove its .py extension + (Closes: #892089) + + [ David Tenty ] + * Migrate to automatic debug packages (Closes: #893267) + + [ Sylvestre Ledru ] + * New snapshot release + + -- Sylvestre Ledru Wed, 25 Apr 2018 10:59:20 +0200 + +llvm-toolchain-snapshot (1:7~svn327768-1) unstable; urgency=medium + + * New snapshot release + * create the directory for the mips stuff + * Fail the build when new symbols are added + * 5 new symbols: + - clang_PrintingPolicy_dispose + - clang_PrintingPolicy_getProperty + - clang_PrintingPolicy_setProperty + - clang_getCursorPrettyPrinted + - clang_getCursorPrintingPolicy + * Use upstream ld.lld manpage instead of help2man + * Move the VCS to git. + Many thanks to James Clarke for doing the conversion + * Create the directory before having the manpages generated + * clang-tidy-7 also depends on clang-tools-7 for, at least + clang-apply-replacements + * Automatically update the debian/README + * clang-tidy-7: depends on libclang-common-7-dev + (Closes: #891999) + + [ James Clarke ] + * Disable LLDB on powerpcspe + + -- Sylvestre Ledru Sat, 17 Mar 2018 14:56:19 +0100 + +llvm-toolchain-snapshot (1:7~svn323616-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix llvm-config with the change of versioning (Closes: #888592) + * Update the creation of the README to unbreak the mips* FTBFS + * Update of the clang-tools-X.Y description + * ignore source: source-is-missing lldb/unittests/ + + -- Sylvestre Ledru Sun, 28 Jan 2018 13:43:37 +0100 + +llvm-toolchain-snapshot (1:7~svn322880-1) unstable; urgency=medium + + * Change the versioning from X.Y to X as upstream is using + X.Y.Z and X + I am keeping the epoch because it would be too complex to manage + with the various updates scenario + * Two new symbols in libclang + - clang_getFileContents + - clang_isInvalidDeclaration + * Fix the VCS-* tags + + -- Sylvestre Ledru Thu, 18 Jan 2018 20:50:03 +0100 + +llvm-toolchain-6.0 (1:6.0.1-11) unstable; urgency=medium + + * Remove 'Multi-Arch: same' in libclang + (Closes: #874248) + * Cherry-pick various llvm fixes for Julia + (Closes: #919628) + + -- Sylvestre Ledru Sat, 09 Feb 2019 17:22:59 +0100 + +llvm-toolchain-6.0 (1:6.0.1-10) unstable; urgency=medium + + * Fix a baseline violation on armhf (Closes: #914268) + Thanks to Adrian Bunk + doing that for the Julia package. + + [ John Paul Adrian Glaubitz ] + * Add patch to fix missing include and library paths on x32 + + -- Sylvestre Ledru Wed, 23 Jan 2019 23:25:50 +0100 + +llvm-toolchain-6.0 (1:6.0.1-9.2) unstable; urgency=medium + + * Non-maintainer upload. + * debian/patches/D53557-hurd-self-exe-realpath.diff: Fix paths returned by + llvm-config (Closes: Bug#911817). + + -- Samuel Thibault Wed, 24 Oct 2018 22:44:54 +0000 + +llvm-toolchain-6.0 (1:6.0.1-9.1) unstable; urgency=medium + + * Non-maintainer upload. + * Apply hurd fixes (Closes: #908847). + - hurd-lib_Support_Unix_Path.inc.diff + - hurd-pathmax.diff + - hurd-tools_llvm-shlib_CMakeLists.txt.diff + + -- Samuel Thibault Tue, 16 Oct 2018 20:18:39 +0000 + +llvm-toolchain-6.0 (1:6.0.1-8) unstable; urgency=medium + + [ John Paul Adrian Glaubitz ] + * Fix inverted logic in ifeq statement for POLLY_ENABLE (Closes: #908646) + + [ Gianfranco Costamagna ] + * Fixup the polly installation failure where polly is not built + * Add s390x to polly architectures + * Fix typo in rules file + + [ Sylvestre Ledru ] + * Disable sse2 on pentium4 arch (Closes: #632472) + + -- Sylvestre Ledru Thu, 13 Sep 2018 10:04:42 +0200 + +llvm-toolchain-snapshot (1:6.0~svn321385-1) unstable; urgency=medium + + * Snapshot upload before rc1 (January) + * Create clang-tools-6.0 and move the various clang tools into it + clang-tools-6.0 depends on clang-6.0. This might affect some packages. + (Closes: #836397) + * Bring back the libedit support in lldb + Fix upstream bug https://bugs.llvm.org/show_bug.cgi?id=35291 + * Also ship ld64.lld and wasm-ld in the lld-X.Y package + * Update d/rules to reflect the move of libfuzzer into compiler-rt + * Update of the copyright file (Closes: #878502) + Thanks to Nicholas D Steeves for the work + * Try to fix the mipsel FTBFS (Closes: #877567) + I am trying the first option from the bug: + - gsplit-dward on 32 bits archs + - -g everywhere + Many thanks to Adrian Bunk for that + * Use ?= for some variables declarations + * Remove the hardcoded declarations of llvm version in debian/rules + * add /usr/lib/cuda to the CUDA toolkit search paths + Thanks to Andreas Beckmann for the patch (Closes: #882505) (LP: #1706326) + * Fix the fix-scan-view-path.diff path + * Move libomp-dev from Suggests to Recommends (Closes: #882781) + * Add a symlink to fix lldb-X.Y (Closes: #881993) + * Remove update-cuda-search-path.patch (applied upstream) + * Also install usr/bin/lldb-test-6.0 + * liblld-6.0-dev depends on liblld-6.0 (Closes: #856545) + * Add new symbols for libclang1: + - clang_CXIndex_setInvocationEmissionPathOption + - clang_CXXRecord_isAbstract + - clang_Cursor_getObjCManglings + - clang_getCursorTLSKind + * add test-keep-alive.diff to improve the keep alive for some + archs like mips* + * Standards-Version: 4.1.1 + * remove liblld-6.0-dbg for now + + -- Sylvestre Ledru Fri, 22 Dec 2017 21:41:17 +0100 + +llvm-toolchain-snapshot (1:6.0~svn315736-1) unstable; urgency=medium + + * New snapshot + * Ship liblldMinGW lld lib + * Ship clang-refactor & clang-func-mapping in clang-X.Y + * Remove the -Wl option to call gold instead of the normal linker + (Closes: #876787) + * Force the deactivation of ocaml until the transition is done + * Standards Version 4.1.0 + + [ Gianfranco Costamagna ] + * Enable ocaml on release architectures. + * Add NDEBUG flag, lost in the -g -> -g1 switch + + [ Matthias Klose ] + * Link with --no-keep-files-mapped --no-map-whole-files when using gold. + * build using gold on arm64 and s390x. For backports, arm64 might still + need the BFD linker, and building with only one or two processes in + parallel. + * On amd64, s390x, arm64 and ppc64el, build with -g1 instead of -g. + * Set CMAKE_CXX_FLAGS_RELWITHDEBINFO and pass opt_flags. + + -- Sylvestre Ledru Mon, 11 Sep 2017 22:27:20 +0200 + +llvm-toolchain-snapshot (1:6.0~svn311834-2) unstable; urgency=medium + + * Fix the FTBFS because of -gsplit-dwarf: + - Only enable it on archs which needs it + - Only enable it when gcc supports it correctly + * Fail the build if the arch + gcc has a broken gsplit-dwarf support + + -- Sylvestre Ledru Thu, 31 Aug 2017 19:14:53 +0200 + +llvm-toolchain-snapshot (1:6.0~svn311834-1) unstable; urgency=medium + + * Link LLDB with -latomic on powerpcspe (Closes: #872267) + * Fix the C++ include path order (Closes: #859083) + * Disable -gsplit-dwarf when using gcc 7 for causing a linking issue + See https://bugs.llvm.org/show_bug.cgi?id=34140 + (Closes: #853525) + * clang was producing unusable binaries on armv5tel (Closes: #873307) + Thanks to Adrian Bunk for the patch + * With Ubuntu Trusty (for apt.llvm.org), the build fails + on internal compiler error: in output_index_string, at dwarf2out.c:218 + force the usage of gcc 4.9 + + -- Sylvestre Ledru Sat, 26 Aug 2017 22:35:00 +0200 + +llvm-toolchain-snapshot (1:6.0~svn310776-1) unstable; urgency=medium + + * We moved from 5.0 to 6.0 + * Ship the opt-viewer new program as part of llvm-6.0 tools + * ld.lld manpage wasn't installed + * Disable the clang-fix-cmpxchg8-detection-on-i386.patch patch + because breaks the build with + 'error: 'isCmpXChg8Supported' was not declared in this scope' + * Remove usr/bin/liblldb-intel-mpxtable.so-6.0 as it seems to be removed + from usptream + * Force the usage of gcc 6 until the link issues with gcc 7 are fixed + https://bugs.llvm.org/show_bug.cgi?id=34140 + + [ Katsuhiko Nishimra ] + * Ensure /usr/bin/g++-$(GCC_VERSION) exists (Closes: #871591) + + -- Sylvestre Ledru Thu, 27 Jul 2017 23:16:06 +0200 + +llvm-toolchain-snapshot (1:5.0~svn305653-1) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Re-add clang-doc documentation + + [ Sylvestre Ledru ] + * New snapshot release + * Fix a hurd PATH_MAX issue + * Transform the lldb swig check from a error to a warning + * Add libomp-dev to the suggests of clang + * Add Provides on python-lldb-x.y & python-clang-x.y & libllvm-x.y-ocaml-dev + to avoid the recurring problem about conflicts + (Closes: #835546, #863739, #863742) + * Standards-Version => 4.0.0 + * Generate the llvm-tblgen, clang-change-namespace, clang-offload-bundler + lld, clang++, clang-check, clang-cpp & clang-import-test manpages + * Remove the --no-discard-stderr option from help2man calls + * use -DPOLLY_BUNDLED_JSONCPP=OFF & add pkg-config as a dep (to help find + the files) + + -- Sylvestre Ledru Fri, 09 Jun 2017 12:04:56 +0200 + +llvm-toolchain-snapshot (1:5.0~svn302368-1~exp1) experimental; urgency=medium + + * Only enable libfuzzer for Linux kernel. + Thanks to Pino Toscano for the patch + * Add option -DPOLLY_BUNDLED_JSONCPP=ON + to use the system lib instead of the patch d/p/use-deb-json.diff + * New symbols added in libclang + - clang_EvalResult_getAsLongLong + - clang_EvalResult_getAsUnsigned + - clang_EvalResult_isUnsignedInt + - clang_TargetInfo_dispose + - clang_TargetInfo_getPointerWidth + - clang_TargetInfo_getTriple + - clang_Type_isTransparentTagTypedef + - clang_getAllSkippedRanges + - clang_getTranslationUnitTargetInfo + + -- Sylvestre Ledru Sun, 07 May 2017 12:13:43 +0200 + +llvm-toolchain-snapshot (1:5.0~svn298899-1) unstable; urgency=medium + + * Limit the archs where the ocaml binding is built + Should fix the FTBFS + Currently amd64 arm64 armel armhf i386 + * d/p/add_symbols_versioning.patch removed (applied upstream) + * Really fix "use versioned symbols" for llvm + Thanks to Julien Cristau for the patch (Closes: #849098) + * Explicit the dep of clang-tidy on same version of llvm to avoid + undefined symbols + * Add override_dh_makeshlibs for the libllvm or liblldb versions + Thanks to Julien Cristau for the patch + * change the min version of the libclang1 symbols to 1:4.0-3~ + * Fix the symlink on scan-build-py + * add libncurses in the list of build deps (Closes: #861170) + + [ Rebecca N. Palmer ] + * Use versioned symbols (Closes: #848368) + + -- Sylvestre Ledru Sun, 09 Apr 2017 10:11:56 +0200 + +llvm-toolchain-snapshot (1:5.0~svn294583-1~exp1) experimental; urgency=medium + + * New snapshot release + * New library liblldb-intel-mpxtable.so + * Fix the incorrect symlink to scan-build-py (Closes: #856869) + * Explicit the dep of clang-format on same version of llvm to avoid + undefined symbols + + -- Sylvestre Ledru Mon, 16 Jan 2017 09:03:48 +0100 + +llvm-toolchain-snapshot (1:5.0~svn292017-1~exp1) experimental; urgency=medium + + * New snapshot release + snapshot is now 5.0 + * d/p/silent-amdgpu-test-failing.diff silent amdgpu tests failing + (see upstream bug 31610) + * d/p/lldb-server-link-issue.patch removed, merged upstream + * Also install python-lldb-5.0 when installing lldb-5.0 (Closes: #851171) + * Bring back the content of llvm-5.0-doc (Closes: #844616) + * Bring back the content of llvm-4.0-doc (Closes: #844616) + * d/p/pthread-link.diff Hardcode like to pthread which was missing for + libclang + + -- Sylvestre Ledru Sat, 14 Jan 2017 16:36:51 +0100 + +llvm-toolchain-snapshot (1:4.0~svn291344-1) unstable; urgency=medium + + * New snapshot release + * Disable libedit usage in lldb because of garbage (Closes: #846616, #850111) + * Build lld + - d/p/lld-arg-cmake-issue.diff fixes upstream bug #27685 + * ship clang-tblgen + * Run clang extra test suite + * Fix the detection of lldb-server + * Fix the run of the check-lldb target + + -- Sylvestre Ledru Sat, 07 Jan 2017 12:24:32 +0100 + +llvm-toolchain-snapshot (1:4.0~svn290810-1) unstable; urgency=medium + + * New snapshot release + * d/p/kfreebsd-support.diff removed (applied upstream) + * debian/orig-tar.sh: less verbose + * d/p/lldb-missing-install.diff: For the install + of lldb-server and lldb-argdumper as they are not always installed + * Ship new binary in clang-X.Y: clang-import-test + * New symbols in libclang1: + - clang_EvalResult_getAsLongLong + - clang_EvalResult_getAsLongLong + - clang_EvalResult_isUnsignedInt + * Fix a regression in the test run for the code coverage + * Silent ThinLTO/X86/autoupgrade.ll, fails with code coverage (and maybe others) + + -- Sylvestre Ledru Mon, 02 Jan 2017 13:51:06 +0100 + +llvm-toolchain-snapshot (1:4.0~svn286225-1) unstable; urgency=medium + + * New snapshot release + * Remove the info section from the generated manpages (Closes: #846269) + + [ Kai Wasserbäch ] + * debian/patches/{0003-Debian-version-info-and-bugreport.patch, + 0044-soname.diff,23-strlcpy_strlcat_warning_removed.diff, + 26-set-correct-float-abi.diff,atomic_library_[12].diff, + fix-clang-path-and-build.diff,fix-lldb-server-build,lldb-libname.diff, + lldb-soname.diff,mips-fpxx-enable.diff,removeduplicatedeclaration.diff}: + Refreshed. + * debian/patches/{silent-gold-utils,kfreebsd-support}.diff: Updated. + + -- Sylvestre Ledru Tue, 08 Nov 2016 12:19:55 +0100 + +llvm-toolchain-snapshot (1:4.0~svn282142-1~exp1) experimental; urgency=medium + + * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y + and libclang-X.Y-dev and no longer with libclang1-X.Y + (Closes: #841309) + * Fix the VCS-* fields + + [ Kai Wasserbäch ] + * debian/patches/{23-strlcpy_strlcat_warning_removed.diff, + 0003-Debian-version-info-and-bugreport.patch, atomic_library_[12].diff, + python-clangpath.diff,removeduplicatedeclaration.diff, + fix-clang-path-and-build.diff,mips-fpxx-enable.diff}: Refreshed. + * debian/patches/{silent-more-tests.diff,silent-MCJIIT-tests.diff}: Updated. + + -- Sylvestre Ledru Mon, 24 Oct 2016 10:45:07 +0200 + +llvm-toolchain-3.9 (1:3.9-6) unstable; urgency=medium + + * Fix segfaults in the memory sanitizers (Closes: #842642) + Caused by the newer glibc. Many thanks for Nobert Lange for everything + * Enable the sanitizers testsuite + + -- Sylvestre Ledru Fri, 11 Nov 2016 17:01:38 +0100 + +llvm-toolchain-3.9 (1:3.9-5) unstable; urgency=medium + + * d/p/0011-SimplifyCFG-Hoisting-invalidates-metadata.patch: Also apply bug 29163 + to fix some issues in rust (Closes: #842956) + Many thanks to Ximin Luo for the investigation + + * libclang-common-4.0-dev: missing multilib binaries for the sanitizer + libraries (Closes: #841923) + Many thanks to Norbert Lange for the changes + + [ Pauli ] + * d/p/clang-fix-cmpxchg8-detection-on-i386.patch: + libcxx atomic tests for old i386 fail with wrong Atomic inline width. + Needed for libc++ + (See https://llvm.org/bugs/show_bug.cgi?id=19355) + * d/p lldb-addversion-suffix-to-llvm-server-exec.patch: + Fix the lldb-server call in some cases + + -- Sylvestre Ledru Fri, 04 Nov 2016 17:18:07 +0100 + +llvm-toolchain-3.9 (1:3.9-4) unstable; urgency=medium + + * LLVMConfig.cmake was installed into wrong location + Install a symlink from lib/cmake/llvm to share/llvm/cmake + (Closes: #839234) + * Fix a path issue in scan-view. Thanks Riccardo Magliocchetti + (Closes: #838572) + + -- Sylvestre Ledru Mon, 31 Oct 2016 10:47:52 +0100 + +llvm-toolchain-3.9 (1:3.9-3) unstable; urgency=medium + + [ Sylvestre Ledru ] + * The libstdc++-6-dev & libobjc-6-dev are only install with clang-X.Y + and libclang-X.Y-dev and no longer with libclang1-X.Y + (Closes: #841309) + + [ Gianfranco Costamagna ] + * Team upload + * d/p/drop-wrong-hack-arm64.patch: + - drop hack that was preventing the package from building on + non-amd64 64bit architectures: + + -- Gianfranco Costamagna Thu, 27 Oct 2016 11:45:28 +0200 + +llvm-toolchain-snapshot (1:4.0~svn280796-1~exp1) experimental; urgency=medium + + * Merge clang-include-fixer-4.0 into clang-4.0. Don't think + it deserves it own package + * python-lldb-4.0 archs "any" to a list like others pkg + * Fix a version issue with run-clang-tidy-4.0.py + * Also install clang-change-namespace-4.0 + + [ Kai Wasserbäch ] + * debian/clang-X.Y.install.in: Added clang-cpp. + * debian/patches: Refreshed. + + -- Sylvestre Ledru Fri, 02 Sep 2016 13:11:56 +0200 + +llvm-toolchain-3.9 (1:3.9-1) unstable; urgency=medium + + * New stable release + * Port to kfreebsd. Many thanks to Pino Toscano + (Closes: #835665) + * clang_getAllSkippedRanges in the list of libclang1 symbols + * Try to disable the execution of the testsuite for scan-build & coverity + for real + * Also ship clang-reorder-fields as part of the clang-4.0 package + * Build lldb on arm64. Hopefully, works. + * New snapshot release + * Tentative fix for lldb-server build + + -- Sylvestre Ledru Wed, 07 Sep 2016 12:02:12 +0200 + +llvm-toolchain-snapshot (1:4.0~svn279916-1) unstable; urgency=medium + + * Snapshot is now 4.0 + * Introduce clang-include-fixer-4.0 + * Fix the usage of jsoncpp in polly. Thanks to James Clarke for the patch + (Closes: #835607) + * Fix the renaming of the manpages (Closes: #834077) + * Use the manpage from clang.rst instead of help2man + * Disable the build of lldb on mips64el, ppc64 and s390x for real + * Add symlink from ./build to ../share and ../lib etc + Thanks to Ximin Luo for the patch (Closes: #834144) + * Sync the 3.9 changes into 4.0 + * Fix the cmake paths in llvm-4.0-dev deb package. Thanks to Brad King + for the patch (Closes: #819072) + * Bring back the lto (gone with the cmake migration) + (Closes: #819333) (upstream: #27223) + * LLVMConfig.cmake is now installed to /lib/cmake/llvm instead of + /share/llvm/cmake + Thanks to Brad King of the fix + * Disable lldb on sparc64 (Closes: #832371) + * Also install clang-rename.el & clang-rename.py in clang-4.0 + * scan-build llvm results are built using --show-description + * Generate manpages for lli, lldb-mi & git-clang-format + * Fix some lintian overrides + * Generate more manpages + * Remove some garbage from the manpages (Closes: #815991, #804347) + * Disable -gsplit-dwarf on Ubuntu precise + * Update the coverity configuration (Debian has moved to gcc 6) + * remove compiler-rt-path.diff (file removed upstream, probably because + we moved to cmake) + * Ship clang-offload-bundler in clang 4.0 + * Set the correct Conflicts for python-clang-4.0, python-lldb-4.0 + (Closes: #832410) + + -- Sylvestre Ledru Sat, 27 Aug 2016 14:19:41 +0200 + +llvm-toolchain-snapshot (1:4.0~svn275970-1~exp1) experimental; urgency=medium + + * New snapshot release + * Bring back llvm-4.0-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + + * amd64 llvm testsuite is green, bring back the failure in case of error + * Fix the cmake paths in llvm-3.9-dev deb package. Thanks to Brad King + for the patch (Closes: #819072) + + -- Sylvestre Ledru Mon, 25 Jul 2016 12:18:52 +0200 + +llvm-toolchain-3.9 (1:3.9~svn275918-1~exp1) experimental; urgency=medium + + * New snapshot release + * Silent test CodeGen/SPARC/LeonInsertNOPsDoublePrecision.ll + * ship lli-child-target as part of the llvm-X.Y-runtime package + * Bring back llvm-3.9-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + * ship lli-child-target as part of the llvm-X.Y-runtime package + + -- Sylvestre Ledru Tue, 19 Jul 2016 15:34:08 +0200 + +llvm-toolchain-snapshot (1:3.9~svn274438-1) unstable; urgency=medium + + * Remove the autoconf section + * Bring back the removal of the build dir + * Fix the coverage builds (didn't allow several cflags) + * Set the correct conflicts on python-lldb-3.8 (Closes: #817873) + * Set the correct conflicts on python-clang-3.8 (Closes: #817872) + * remove llvm26003-sanitizer-check-env.diff (merged upstream) + * Do not fail the build if the manpages cannot be built (failing on + Ubuntu precise) + * Install libfindAllSymbols.a as part of libclang-X.Y-dev + * Ship scan-build-py + * Use the libjsoncpp library embedded (fails to link otherwise) + * Standards-Version 3.9.8 + * cmake files moved from usr/lib/llvm-3.9/share/llvm/cmake/ + to usr/lib/llvm-3.9/lib/cmake/llvm/ + (upstream change) + * Add a symlink from usr/lib/llvm-3.9/share/llvm/cmake + pointing to usr/share/llvm-3.9/cmake + * Disable the run of lldb testsuite because of LLVM_LINK_LLVM_DYLIB=ON: + https://llvm.org/bugs/show_bug.cgi?id=28127 + * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation + issue on i386 + * Ignore the lintian override about embedded-library for json. + Doesn't link otherwise + * Fix the soname of libclang and libLLVM. Might cause some breakage with + existing app but no choice... + + [ Pablo Oliveira ] + * Add python-six as a dependency of python-lldb (Closes: #825371) + (thanks to Askar Safin) + * Fix lldb symlinks + * Fix missing _lldb.so import during lldb testsuite + + [ Ed Schouten ] + * Preparation of the support of lld (not ready yet) + + [ Kai Wasserbäch ] + * debian/rules: + - Ensure ld-gold is used. CMake invokes the linker through g++ most of the + time, therefore we need to set -Wl,-fuse-ld=gold. + - Remove unused variable "confargs". + + [ Brad King ] + * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of + usr/share/llvm-@LLVM_VERSION@/cmake/ + * Also install libLLVM-3.8.so.1 as a symlink + * debian/patches/fix-cmake-config-prefix.diff: + cover the CMake build system too + (Closes: #819072) + + [ Alexis La Goutte ] + * Fix an issue with scan-view (Closes: #825101) + + [ YunQiang Su ] + * Enable FPXX by default on mips/mipsel (Closes: #826749) + + -- Sylvestre Ledru Sat, 02 Jul 2016 20:46:05 +0200 + +llvm-toolchain-snapshot (1:3.9~svn260851-1) unstable; urgency=medium + + * New snapshot + * Switch to 3.9 (remove lldb-3.9-dev as it was a transitional pkg) + * Update the clang description for something more accurate (C++-11, 14, etc) + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + * Sync against 3.8 + * Disable "Sphinx warnings treated as errors" + + -- Sylvestre Ledru Tue, 08 Mar 2016 09:50:29 +0100 + +llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium + + * New upstream release + * Install a missing library to unbreak lldb (Closes: #815809) + + -- Sylvestre Ledru Thu, 03 Mar 2016 21:16:21 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update the clang description for something more accurate (C++-11, 14, etc) + * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess + in polly + + [ Matthias Klose ] + * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8. + * Disable lldb on s390x. + + -- Sylvestre Ledru Thu, 25 Feb 2016 14:26:14 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove build-llvm/ after the install step to save space. + Most of the rc1 builds failed because of hd space. + + -- Sylvestre Ledru Wed, 03 Feb 2016 08:59:32 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + + -- Sylvestre Ledru Wed, 20 Jan 2016 16:09:01 +0100 + +llvm-toolchain-3.8 (1:3.8.1-8) unstable; urgency=medium + + * Disable the usage of ld gold on powerpc (Closes: #833583) + * Revert drop-avx512-from-skylake.diff, it is causing some regressions in the + testsuite + * Disable lldb on ppc64 + * libfuzzer depends on the same version of clang (Closes: #833564) + * Use filter into of findstring in the gold usage. Thanks Doko for the + suggestion + + -- Sylvestre Ledru Sun, 07 Aug 2016 14:10:09 +0200 + +llvm-toolchain-3.8 (1:3.8.1-7) unstable; urgency=medium + + * Fix the detection of gcc. This broke the build on the latest unstable + + -- Sylvestre Ledru Fri, 05 Aug 2016 09:55:15 +0200 + +llvm-toolchain-3.8 (1:3.8.1-6) unstable; urgency=medium + + * Ship libFuzzer in its own package (libfuzzer-X.Y-dev) (Closes: #820159) + * Sync from Ubuntu. Many thanks to Matthias Klose + - drop-avx512-from-skylake.diff: Don't enable AVX512 on Skylake, as it's + a server cpu feature and breaks llvmpipe on workstations. + - Remove the build tree before calling dh_strip; at least the amd64 buildd + runs out of diskspace at this step. + - Add support for gcc's attribute abi_tag (needed for compatibility with + GCC 5's libstdc++); taken from the trunk (Closes: #797038) + (LP: #1510042, #1488254) + D17567-PR23529-Sema-part-of-attrbute-abi_tag-support.diff + D18035-PR23529-Mangler-part-of-attrbute-abi_tag-support.diff + + -- Sylvestre Ledru Thu, 28 Jul 2016 11:15:04 +0200 + +llvm-toolchain-3.8 (1:3.8.1-5) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Try to fix mips64el build, by enabling the same + packages as the mips and mipsel versions + * Link mips* with latomic. + + [ Sylvestre Ledru ] + * Disable lldb on sparc64 (Closes: #832371) + * Hopefully fix the FTBFS on armel + + -- Sylvestre Ledru Wed, 27 Jul 2016 22:49:09 +0200 + +llvm-toolchain-3.8 (1:3.8.1-4) unstable; urgency=medium + + * Fix the FTBFS under mips/mipsel? (enable the link against atomic) + (Closes: #820537) + * Bring back llvm-3.8-tools to life + * ship clang-tblgen & yaml-bench as part of the libclang-common-X.Y-dev + package + + -- Sylvestre Ledru Wed, 20 Jul 2016 10:20:46 +0200 + +llvm-toolchain-3.8 (1:3.8.1-3) unstable; urgency=medium + + * Add -gsplit-dwarf to CXXFLAGS to workaround the memory allocation + issue on i386 (hopefully) + + -- Sylvestre Ledru Sat, 02 Jul 2016 20:59:08 +0200 + +llvm-toolchain-3.8 (1:3.8.1-2) unstable; urgency=medium + + [ Sylvestre Ledru ] + * Add a symlink from usr/lib/llvm-3.8/share/llvm/cmake + pointing to usr/share/llvm-3.8/cmake + + [ Gianfranco Costamagna ] + * Remove python-lldb-3.8 where liblldb-3.8-dev is not built + + -- Sylvestre Ledru Tue, 28 Jun 2016 14:44:48 +0200 + +llvm-toolchain-3.8 (1:3.8.1-1) unstable; urgency=medium + + * New maintenance release + + [ Kai Wasserbäch ] + * debian/rules: Ensure ld-gold is used. CMake invokes the linker through + g++ most of the time, therefore we need to set -Wl,-fuse-ld=gold. + + [ Brad King ] + * Followup to fix the cmake install (Closes: #819072) + + [ YunQiang Su ] + * Enable FPXX by default on mips/mipsel (Closes: #826749) + + -- Sylvestre Ledru Thu, 23 Jun 2016 08:49:29 +0200 + +llvm-toolchain-3.8 (1:3.8.1~+rc1-1~exp1) experimental; urgency=medium + + * New RC release + * Improve the cmake detection (used for llvm.org/apt) + * Standards-Version updated to 3.9.8 + * Ignore outdated-autotools-helper-file + + [ Brad King ] + * Install cmake files in usr/share/llvm-@LLVM_VERSION@/cmake/ instead of + usr/share/llvm-@LLVM_VERSION@/cmake/ + * Also install libLLVM-3.8.so.1 as a symlink + * debian/patches/fix-cmake-config-prefix.diff: + cover the CMake build system too + (Closes: #819072) + + [ Pablo Oliveira ] + * Fix python-lldb dependencies and make proper symlinks to libLLVM + and liblldb as suggested by Graham Inggs (Closes: #821022) + * Fix liblldb suffix in lldb/scripts/Python/finishSwigPythonLLDB.py + (Closes: #813798) + * Fix LLVM bug 26158 - clang packages don't provide man pages + * Add python-six as a dependency of python-lldb (thanks to Askar Safin). + + [ Gianfranco Costamagna ] + * Make python-lldb-3.8 depend on lldb-3.8-dev, to pick all + the required dependencies + * Unbreak circular dependency by Suggesting the python binding from + liblldb-3.8-dev + + [ Alexis La Goutte ] + * Fix an issue with scan-view (Closes: #825101) + + -- Sylvestre Ledru Thu, 26 May 2016 17:30:00 +0200 + +llvm-toolchain-3.8 (1:3.8-2) unstable; urgency=medium + + * Team upload. + * Disable polly on s390x and fix polly check. + * Fix VCS fields. + + [ Sylvestre Ledru ] + * Fix txt file installation issue, by putting a README.txt file + with some explanation. + + [ Graham Inggs ] + * Tighten llvm dev dependency (Closes: #814142). + + -- Gianfranco Costamagna Mon, 07 Mar 2016 10:56:05 +0100 + +llvm-toolchain-3.8 (1:3.8-1) unstable; urgency=medium + + * New upstream release + * Install a missing library to unbreak lldb (Closes: #815809) + + -- Sylvestre Ledru Thu, 03 Mar 2016 21:16:21 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc3-1~exp1) experimental; urgency=medium + + * New snapshot release + * Update the clang description for something more accurate (C++-11, 14, etc) + * Update debian/orig-tar.sh to remove autoconf/config.sub autoconf/config.guess + in polly + + [ Matthias Klose ] + * clang-tidy-3.8: Remove Breaks/Replaces on clang-modernize-3.8. + * Disable lldb on s390x. + + -- Sylvestre Ledru Thu, 25 Feb 2016 14:26:14 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc2-1~exp1) experimental; urgency=medium + + * New snapshot release + * Remove build-llvm/ after the install step to save space. + Most of the rc1 builds failed because of hd space. + + -- Sylvestre Ledru Wed, 03 Feb 2016 08:59:32 +0100 + +llvm-toolchain-3.8 (1:3.8~+rc1-1~exp1) experimental; urgency=medium + + * New snapshot release + * Cmake migration. Done by Andrew Wilkins. Many thanks to him + - Update patches to set SONAME in CMake build + - Create symlinks with ".links", don't install from build tree + - Remove LLVM-internal tools (lit, FileCheck, not, tblgen, etc.) + - Remove llvm-X.Y-tools package, because it contained only + internal tools that are not intended for distribution. + - Remove autotools-specific artifacts from packages. + - Remove "dummy" documentation artifacts from llvm-X.Y-docs + package. Not built/installed by CMake, not useful. + - Update control/rules to support CMake + - Patch LLDB SWIG interfaces to workaround a bug in SWIG + See https://llvm.org/bugs/show_bug.cgi?id=25468 + - add missing files to clang-format + - Add patch to fix sanitizer lit invocation + - removed LLVM-internal tools (lit, FileCheck, not, *-tblgen, etc.); + not installed by CMake, not intended for distribution + - removed llvm-X.Y-tools (contained only internal tools) + - removed autotools-specific artifacts (configure, Makefile, etc.) + - removed dummy documentation files + + -- Sylvestre Ledru Wed, 20 Jan 2016 16:09:01 +0100 + +llvm-toolchain-snapshot (1:3.8~svn255217-1~exp1) experimental; urgency=medium + + * New snapshot release + * Fix an install issue with clang-tidy + * clang-modernize has been removed. Long live to clang-tidy, its + replacement + + -- Sylvestre Ledru Thu, 10 Dec 2015 05:18:29 +0100 + +llvm-toolchain-snapshot (1:3.8~svn254193-2) UNRELEASED; urgency=medium + + * disable lldb and polly on powerpc, currently ftbfs. + setting the lldb archs in debian/control in just one + place would be appreciated. + * quoting fixes in debian/rules, when make macros + are empty + Thanks to Doko for the two previous changes (Closes: #806729) + + -- Sylvestre Ledru Mon, 30 Nov 2015 15:34:12 +0100 + +llvm-toolchain-snapshot (1:3.8~svn254193-1) unstable; urgency=medium + + * New snapshot release + * Remove some warnings in the manpages generation (Closes: #795310) + * Also ship sancov in clang-3.8 + * Fix the links to scan-build-3.8 & scan-view-3.8 + + -- Sylvestre Ledru Tue, 20 Oct 2015 14:07:06 +0200 + +llvm-toolchain-snapshot (1:3.8~svn250696-1) unstable; urgency=medium + + * Remove macho-dump from LLVM (removed by upstream r248302) + * Introduce clang-tidy-3.8 as a separate package. Replaces clang-modernize + * Ship run-clang-tidy.py & clang-tidy-diff.py in clang-tidy-3.8 + * Remove cpp11-migrate-3.8 package. Has been replaced by clang-modernize + for a while (which will be replaced by clang-tidy) + * Add three new symbols in libclang1 + - clang_CompileCommand_getFilename@Base + - clang_CompileCommand_getMappedSourceContent@Base 3.8 + - clang_CompileCommand_getMappedSourcePath@Base 3.8 + + -- Sylvestre Ledru Mon, 21 Sep 2015 13:16:35 +0200 + +llvm-toolchain-snapshot (1:3.8~svn247576-1) unstable; urgency=medium + + [ Sylvestre Ledru ] + * New snapshot release + * Remove CVE-2015-2305.patch. Already fixed upstream in a different + way + * remove patches merge upstream + - lit-lang.diff + - locale-issue-ld.diff + * Also generate liblldb-3.8-dbg + * Select LLVM OpenMP as the default backend + + [ Gianfranco Costamagna ] + * d/control: Add more conflicting packages (python-clang and python-lldb) + (Closes: #796811, #796843) + * Remove an obsolete declaration about dragonegg + (cherry-pick from 3.7 branch) + + [ James Price ] + * d/p/fix-cmake-config-prefix.diff: fix cmake path, + needs a change after upstream revision r241080 + (Addresses: #794905) + + -- Sylvestre Ledru Mon, 14 Sep 2015 18:29:09 +0200 + +llvm-toolchain-snapshot (1:3.8~svn245286-1) unstable; urgency=medium + + * New snapshot release (3.7 => 3.8) + No need to rename libllvm as 3.8 was not part of the debian archive + + [ Gianfranco Costamagna ] + * Fix VCS fields. + * d/p/CVE-2015-2305.patch, fix security issue on regcomp.c + * Fix many lintian warning/errors + - copyright fixes + - control files + - disabled ocaml documentation + + -- Sylvestre Ledru Tue, 18 Aug 2015 14:28:36 +0200 + +llvm-toolchain-snapshot (1:3.7~svn231060-1~exp2) UNRELEASED; urgency=medium + + * Reflect upstream changes wrt vim package. Split the files into different + directories + * Disable the patch force-gcc-header-obj.diff. Seems to cause bug #23556 + * Fix the CMake build. thanks to Paweł Bylica for the fix. + Fix upstream bug #23352 + * No longer building some clang help page, removing them + + -- Sylvestre Ledru Tue, 21 Apr 2015 09:41:41 +0200 + +llvm-toolchain-snapshot (1:3.7~svn231060-1~exp1) experimental; urgency=medium + + * New snapshot release + * Force the version of clang in the analyzer scripts + clang-analyzer-force-version.diff + + -- Sylvestre Ledru Tue, 03 Mar 2015 09:19:38 +0100 + +llvm-toolchain-snapshot (1:3.7~svn230857-1) unstable; urgency=medium + + * New snapshot release + * Support of gcc 5.0 (Closes: #777988) + * compiler-rt-i586.diff: fix a build issue of compiler-rt under i386 + * lldb-gdbserver & lldb-platform have been merged into lldb-server + * Bring back polly and remove libcloog-isl-dev & libisl-dev as build deps + (shipped in the polly source tree) + * Set the correct conflicts (Closes: #777580, #777581, #777582) + * lit-lang.diff: Force the call to ld to be in english + (was failing with a french locale) + * silent-MCJIIT-tests.diff: enable some tests and silents some other + + -- Sylvestre Ledru Sat, 28 Feb 2015 18:44:59 +0100 + +llvm-toolchain-snapshot (1:3.7~svn227076-1) unstable; urgency=medium + + * New snapshot release + * Switch to version 3.7 + * Standards-Version updated to 3.9.6 + + -- Sylvestre Ledru Mon, 26 Jan 2015 09:23:41 +0100 + +llvm-toolchain-snapshot (1:3.6~svn224810-1) unstable; urgency=medium + + * New snapshot release + * Update library filename declaration 3.5 => 3.6 (Closes: #772006) + + -- Sylvestre Ledru Fri, 05 Dec 2014 17:46:56 -0800 + +llvm-toolchain-snapshot (1:3.6~svn221998-1~exp1) experimental; urgency=medium + + * Disable ocaml binding. Needs libctypes-ocaml 0.3.3 which is not available + * libllvm*.a is not longer built + * Update of the libclang symbols + * Improve the copyright file. Thanks to Dann Frazier (Closes: #766778) + + -- Sylvestre Ledru Tue, 04 Nov 2014 14:43:28 +0100 + +llvm-toolchain-snapshot (1:3.6~svn218612-1) unstable; urgency=medium + + * Fix my screw up. Add .1 to the libclang soname to make + dpkg-shlibdeps happy + * Remove useless dependency on doxygen + * scan-build could not find clang binary (Closes: #758998) + + -- Sylvestre Ledru Fri, 26 Sep 2014 17:05:26 +0200 + +llvm-toolchain-snapshot (1:3.6~svn218446-1) unstable; urgency=medium + + * New snapshot release + * Upload in unstable + * Disable the co-instability of lldb & python-lldb + (Python stuff conflicts) + * Fix bad dependencies on lldb 3.6 + * Refresh of the list of symbol in libclang + * Try to workaround the FTBFS under ppc64el (create an empty directory) + + -- Sylvestre Ledru Wed, 24 Sep 2014 14:20:49 +0200 + +llvm-toolchain-snapshot (1:3.6~svn216933-1~exp1) experimental; urgency=medium + + * New snapshot release + * sync from 1:3.5~+rc4-2~exp1 + * libclang-3.6.so should be used instead libclang.so. Update the soname + to match the new lib name (Closes: #759538) + * Rename liblldb.so to liblldb-3.6.so + update of the soname. + * python-clang-3.6 description updated + * liblldb-3.6 and python-lldb-3.6 added + * lldb-3.6-dev renamed to liblldb-3.6-dev to match the previous changes + * Manpages for llvm-ranlib, clang-apply-replacements, pp-trace and clang-tidy + added + * clang-3.6 should depends on binutils (for ld, at least) + (Closes: #751030) + * clang/www/analyzer/scripts/dbtree.js removed + + -- Sylvestre Ledru Sat, 30 Aug 2014 18:09:20 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-3) unstable; urgency=medium + + * Just like in 3.4 & 3.5, bring back lldb & lldb-dev under mips & mipsel + * Ship clang-rename/clang-rename-3.6 + * Disable libstdc++-header-i386.diff & include-target.diff (merged upstream) + + -- Sylvestre Ledru Mon, 18 Aug 2014 09:02:30 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-2) unstable; urgency=medium + + * try to build lldb-mi under kfreebsd (kfreebsd-lldb-mi.diff) + * kfreebsd-lldb-gdbserver.diff removed (applied upstream) + + -- Sylvestre Ledru Mon, 11 Aug 2014 08:44:13 +0200 + +llvm-toolchain-snapshot (1:3.6~svn215195-1) unstable; urgency=medium + + * Upload in unstable + * Enable compressed debug sections (Closes: #757002) + * Force scan-build to use the same version of clang + * Old JIT has been removed. 0050-powerpcspe-fp.diff is useless + * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff) + * Second try to fix build under HURD (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Mon, 04 Aug 2014 13:36:15 +0200 + +llvm-toolchain-3.4 (1:3.4.2-8) unstable; urgency=medium + + * Try to bring back lldb-3.4-dev on mips & mipsel (Closes: #758314) + + -- Sylvestre Ledru Sat, 16 Aug 2014 22:39:13 +0200 + +llvm-toolchain-3.4 (1:3.4.2-7) unstable; urgency=medium + + * Upload in unstable + * Try to bring back lldb on mips & mipsel + * Force scan-build to use the same version of clang + * Try to fix hurd (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Tue, 05 Aug 2014 14:40:05 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc4-1) unstable; urgency=medium + + * New snapshot release + + -- Sylvestre Ledru Wed, 27 Aug 2014 23:09:59 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc3-1) unstable; urgency=medium + + * New snapshot release + * Cherry-pick to commit from upstream (revisions 214906 214907) + to improve the gcc compat + * Remove scan-build-clang-path.diff (applied upstream) + * Just like in 3.4, bring back lldb & lldb-dev under mips & mipsel + + -- Sylvestre Ledru Wed, 20 Aug 2014 23:43:06 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc2-1) unstable; urgency=medium + + * Fix the version + * try to build lldb-gdbserver under kfreebsd (kfreebsd-lldb-gdbserver.diff) + * Second try to fix build under HURD (hurd-EIEIO-undef.diff) + + -- Sylvestre Ledru Fri, 08 Aug 2014 10:42:13 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc2-1~exp1) unstable; urgency=medium + + * New snapshot release + * Enable compressed debug sections (Closes: #757002) + * Force scan-build to use the same version of clang + * Bring back scan-build-search-path.diff (Closes: #757219) + + -- Sylvestre Ledru Mon, 04 Aug 2014 13:35:35 +0200 + +llvm-toolchain-snapshot (1:3.6~svn214630-1~exp1) experimental; urgency=medium + + * New snapshot release (3.5 => 3.6) + * Co installation of clang (Closes: #736057) + - scan-build => scan-build-3.6 + - scan-view => scan-view-3.6 + - asan_symbolize => asan_symbolize-3.6 + * Refresh of the patches + * Install yaml2obj, obj2yaml & verify-uselistorder in llvm-3.6 + * Remove of pollycc + * clang alternatives are managed by llvm-defaults + + -- Sylvestre Ledru Thu, 31 Jul 2014 18:12:59 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc1-2) unstable; urgency=medium + + * Sync with 3.4 svn to retrieve some changes: + * Replace $(CURDIR)/debian/tmp by a variable + * Move the polly installation in the dh_auto_install rules instead + of using *.install files. In llvm.org/apt/, I have to sometime disable + polly + * hurd-EIEIO-undef.diff: try to undef an errno.h to fix the ftbfs + * clang-X suggests clang-X-doc (Closes: #755922) + * Manage all files using .in mechanism. It will simplify the upgrade of + version + * Disable lldb for ppc64el. Thanks to Dimitri John Ledkov (Closes: #756380) + * Fix the FTBFS under PowerPC. Thanks to Dimitri John Ledkov for the patch + + -- Sylvestre Ledru Thu, 24 Jul 2014 11:42:56 +0200 + +llvm-toolchain-3.5 (1:3.5~+rc1-1) unstable; urgency=medium + + * First RC release of the 3.5 llvm toolchain + * Apply lldb-kfreebsd.diff patch to fix FTBFS under KFreeBSD + Thanks to Ed Maste + + -- Sylvestre Ledru Wed, 23 Jul 2014 08:57:59 +0200 + +llvm-toolchain-snapshot (1:3.5~svn213451-1) unstable; urgency=medium + + * New snapshot release + * If the version of gcc is too old, force the usage of gcc 4.8 + * Clang will now show the full version. Example: 3.5.0-svn213052-1~exp1 + + -- Sylvestre Ledru Sat, 19 Jul 2014 15:27:11 +0200 + +llvm-toolchain-snapshot (1:3.5~svn211669-2) unstable; urgency=medium + + * Remove useless dependency on g++ + * Use the option stable '-analyzer-config stable-report-filename=true' + to the llvm scan-build reports + + -- Sylvestre Ledru Sun, 29 Jun 2014 19:13:05 +0200 + +llvm-toolchain-snapshot (1:3.5~svn211669-1) unstable; urgency=medium + + * New snapshot release + * Fix CVE-2014-2893 (Closes: #744817) + * Merge with 3.4/debian + * Ship lldb-mi in lldb + * Remove scan-build-fix-clang-detection.diff (applied upstream) + * Ship the compiler-rt static libraries + * Running tests respect DEB_BUILD_OPTIONS=parallel=X + (Closes: #751943) + * Fix FTBFS on powerpc and powerpcspe (Closes: #733890) + * Broken library symlink fixed in lldb-3.5 (Closes: #715130) + * Fix --use-cc when no absolute path is provided (Closes: #748777) + + -- Sylvestre Ledru Wed, 25 Jun 2014 07:58:03 +0200 + +llvm-toolchain-snapshot (1:3.5~svn209039-2) unstable; urgency=medium + + * Provide a link as compatibility with previous lib name (Closes: #748569) + * Be less permissive when installing lldb. Remove duplication of the install + of liblldb.so.1 + + -- Sylvestre Ledru Sun, 18 May 2014 20:01:40 +0200 + +llvm-toolchain-snapshot (1:3.5~svn209039-1) unstable; urgency=medium + + * New snapshot release + * Fix the cmake install patch + * Disable profile_rt.diff for now + * Refresh of libclang1-3.5.symbols + * Fix path to /usr/lib/clang/3.5.0/ (Closes upstream #19088) + * Fix the wrong dependency declaration on llvm-3.5-tools + * Add gnustep & gnustep-devel as suggests of clang-3.5 + * Add libc6-dev as an explicit dependency of clang-3.5 + * Build with dh_install --fail-missing + * Start to use /usr/bin/foo-X.Y. First step to have several clang versions + installed together + * Add some missing files: + - lli-child-target - llvm-3.5-runtime + - count - llvm-3.5-tools + - html.tar.gz - llvm-3.5-doc + - ocamldoc.tar.gz - llvm-3.5-doc + - BugpointPasses.so - llvm-3.5-dev + - liblldb* - lldb-3.5-dev + - clang-apply-replacements - clang-3.5 + - clang-tidy - clang-3.5 + - clang-query - clang-3.5 + - pp-trace - clang-3.5 + - lldb-platform - lldb-3.5 + - lldb-gdbserver - lldb-3.5 + + -- Sylvestre Ledru Fri, 16 May 2014 23:23:50 +0200 + +llvm-toolchain-3.4 (1:3.4.2-2) unstable; urgency=medium + + * Improve the CVE-2014-2893 fix (Closes: #744817) + * Add a check to avoid an error on arch where compiler-rt is not available + + -- Sylvestre Ledru Mon, 16 Jun 2014 23:00:47 +0200 + +llvm-toolchain-3.4 (1:3.4.2-1) unstable; urgency=medium + + * New upstream release + * Add build conflict on libllvm-3.5-ocaml-dev + * Also disable lldb tests under armel (like armhf). Timeout + * Update of the repack script + * Use llvm-3.4-dev.links.in to manage the symlinks + * Fix the soname of liblldb.so to see it treated as a real library + (Closes: #750868) + * Switch to the default gcc/g++ compiler. Currently 4.9 (Closes: #751322) + * Fixes CVE-2014-2893 (Closes: #744817) + + -- Sylvestre Ledru Fri, 06 Jun 2014 15:55:57 +0200 + +llvm-toolchain-3.4 (1:3.4.1-4) unstable; urgency=medium + + * Be less permissive when installing lldb. Remove duplication of the install + of liblldb.so.1 + * Add symlinks lldb-3.4, lldb-platform-3.4 & lldb-gdbserver-3.4 without 3.4 + * Clang was unusable with libstdc++ from gcc 4.9 (Closes: #744792) + + -- Sylvestre Ledru Sun, 18 May 2014 20:18:19 +0200 + +llvm-toolchain-3.4 (1:3.4.1-3) unstable; urgency=medium + + * Fix path for arch without support of compiler-rt. Should fix most of the + FTBFS + + -- Sylvestre Ledru Fri, 16 May 2014 15:27:37 +0200 + +llvm-toolchain-3.4 (1:3.4.1-2) unstable; urgency=medium + + * Fix the soname. No changes in the ABI, so, no need to update the soname + (Closes: #747701) + + -- Sylvestre Ledru Sun, 11 May 2014 17:29:22 +0200 + +llvm-toolchain-3.4 (1:3.4.1-1) unstable; urgency=medium + + * New upstream release. Note that only LLVM & Clang had a new release. + I just copied the 3.4 tarballs for clang-extra-tools, polly, lldb and + compiler-rt. + * Symlink for current build mode missing (Closes upstream #18836) + * Add link usr/lib/llvm-3.4/ to usr/lib/llvm-3.4/build/Debug+Asserts + * Backport of a r201586 from upstream. scan-build was failing on some project + like firefox build system. (Yeh, advantage to be the packager of a software + that I use ;) ). See scan-build-fix-clang-detection.diff + * Fix the version in the symbol list (libclang1-3.4.symbols) + * Update the path regarding upstream changed (3.4 => 3.4.1) + (Patch improved also by Martin Nowack) + * Remove generated file libllvm3.4.install + * Add gnustep & gnustep-devel as suggests of clang-3.4 + * Add libc6-dev as an explicit dependency of clang-3.4 + * Build with dh_install --fail-missing + * Start to use /usr/bin/foo-X.Y. First step to have several clang versions + installed together + * Add some missing files: + - lli-child-target - llvm-3.4-runtime + - count - llvm-3.4-tools + - html.tar.gz - llvm-3.4-doc + - ocamldoc.tar.gz - llvm-3.4-doc + - BugpointPasses.so - llvm-3.4-dev + - liblldb* - lldb-3.4-dev + - lldb-platform-3.4 - lldb-3.4 + - clang-apply-replacements - clang-3.4 + - clang-tidy - clang-3.4 + - pp-trace - clang-3.4 + + -- Sylvestre Ledru Fri, 09 May 2014 19:57:33 +0200 + +llvm-toolchain-snapshot (1:3.5~svn200375-1) unstable; urgency=medium + + * New snapshot release + * polly unnopstream is now using the isl trunk. Disabling it for now. + * Only explicit the link against atomic when running mips & mipsel + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot + packages and it should be the norm now... + + [ Martin Nowack ] + * Fixed build directory for llvm-config + * Add Unittests for running tests for llvm-based projects + * Install FileCheck and not for testing + + -- Sylvestre Ledru Wed, 29 Jan 2014 07:36:29 -0800 + +llvm-toolchain-snapshot (1:3.5~svn199601-1) unstable; urgency=low + + * New snapshot release + * Update clang-format declaration from 3.4 => 3.5. Closes upstream bug #18451 + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Force gcc 4.8. LLVM & Co are now in C++ 11. + * Also make clang-3.5 breaks/replaces clang. Conflicts on + /usr/share/clang/scan-view/ScanView.py (Closes: #730266) + + -- Sylvestre Ledru Wed, 15 Jan 2014 15:08:03 +0100 + +llvm-toolchain-snapshot (1:3.5~svn197556-1) unstable; urgency=low + + * New snapshot release + * Merge changes from 1:3.4~+rc3-1 + * Disable much of the display of the lldb display + + -- Sylvestre Ledru Tue, 17 Dec 2013 12:02:52 +0100 + +llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low + + * Sync from 3.4~+rc2-1 + * Make lldb 3.5 also conflict with 3.4 (Closes: #730163) + * Make python-clang 3.5 also conflict with 3.4 (Closes: #730164) + * Fix a FTBFS with clang + * Refresh the /usr/include/clang mess + + -- Sylvestre Ledru Tue, 10 Dec 2013 09:57:15 +0100 + +llvm-toolchain-snapshot (1:3.5~svn195337-1) unstable; urgency=low + + * Switch from 3.4 to 3.5 + * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch + Useless now and misleading + * Standards-Version updated to 3.9.5 + * kfreebsd.diff remove (applied upstream) + + -- Sylvestre Ledru Wed, 20 Nov 2013 21:24:28 +0100 + +llvm-toolchain-3.4 (1:3.4-2) unstable; urgency=medium + + * Only explicit the link against atomic when running mips & mipsel + * Fix the cindex.py declaration (3.3 => 3.5). Closes upstream bug #18365 + * Bring back the dependency on gcc 4.8. It breaks the nightly snapshot + packages and it should be the norm now... + * Introduce llvm-3.4-tools to contain the new files needed by Martin + + [ Matthias Klose ] + * Disable the lldb build for AArch64. + * Don't run the lldb tests on armhf (time out on the buildd). + + [ Martin Nowack ] + * Fixed build directory for llvm-config + * Add Unittests for running tests for llvm-based projects + * Install FileCheck and not for testing + + -- Sylvestre Ledru Tue, 11 Feb 2014 11:19:21 +0100 + +llvm-toolchain-3.4 (1:3.4-1) unstable; urgency=medium + + * New upstream release + * Remove explicit dep on gcc 4.8 + + -- Sylvestre Ledru Fri, 20 Dec 2013 18:36:58 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu4) trusty; urgency=medium + + * Rebuild for ocaml-4.01. + + -- Matthias Klose Mon, 23 Dec 2013 12:11:17 +0000 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu3) trusty; urgency=low + + * Bring over Ubuntu changes from 3.3: + - Revert to using the static copy of libjsoncpp, since the shared + library lacks sane versioning, and this is only a few thousand + lines of cargo-culted code from a reasonably stagnant upstream. + - Drop lcov build-dep to avoid pulling it into main, due to its + being fundamentally incompatibe with our newer GCC versions. + + -- Matthias Klose Fri, 20 Dec 2013 12:59:01 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu2) trusty; urgency=low + + * Don't run the lldb tests on armhf (time out on the buildd). + + -- Matthias Klose Wed, 18 Dec 2013 12:29:56 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1ubuntu1) trusty; urgency=low + + * Disable the lldb build for AArch64. + * Build-depend on gcc-multilib on amd64 and i386. + + -- Matthias Klose Tue, 17 Dec 2013 18:44:50 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc3-1) unstable; urgency=low + + * New testing upstream release + * Relative call in the chroot without proc failed. + See: fix-an-issue-in-chroot-witout-proc.diff + * Bring back lldb-link-atomic.diff to make sure lldb builds under + powerpc + * Also limit the number of archs for liblldb-dev + + -- Sylvestre Ledru Tue, 17 Dec 2013 11:27:40 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-3) unstable; urgency=low + + * Fix the bad declaration on the lldb deactivation + * Also disable lldb under powerpc + * Hopefully, fix lldb under Kfreebsd-* (thanks to Ed Maste if it works) + + -- Sylvestre Ledru Wed, 04 Dec 2013 23:53:49 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-2) unstable; urgency=low + + * Add the Ocaml ABI dependency (Closes: #731344) + * Disable LLDB also for ia64, mips & mipsel + + -- Sylvestre Ledru Wed, 04 Dec 2013 15:37:39 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc2-1) unstable; urgency=low + + * New testing upstream release + * 0047-version-name.diff ocamldoc.diff removed (applied upstream) + * r600 is now compiled by default (remove the configure arg) + + -- Sylvestre Ledru Tue, 03 Dec 2013 10:25:59 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-3) unstable; urgency=low + + * Remove the usage of --with-c-include-dirs, --with-cxx-include-root, + --with-cxx-include-arch and --with-cxx-include-64bit-dir + It was blocking the automatic detection of the path of clang. + In particular in the context of the usage of -target. + However, it does not completely fix the detection of the i386 C++ path. + See the next item. + (Closes: #729933) + * Bring back the path to libstdc++ under i386. Still not fixed upstream + (Closes: #730857) + * Define also MAXPATHLEN in Path.inc for HURD. + * Silent the trillion of warnings in the LLDB Python wrapper (swig generated) + See silent-swig-warning.diff + * Silent some i386 tests failing (it is expected) + See silent-MCJIIT-tests.diff + * Make lldb 3.4 also conflict with 3.5 (Closes: #730163) + * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164) + * Port LLVM to mips64el. Thanks to YunQiang Su. Initially done for + 3.3 and ported on the 3.4 (Closes: #730808) + * If we get an unexpected pass, do not break the tests + do-not-fail-on-unexpected-pass.diff (I am disabling some tests) + * Fix the path detection of the objective h headers. + * Also add usr/lib/llvm-3.4/lib/clang/3.4/include => + usr/lib/clang/3.4/include symlink to simplify the path detection + + -- Sylvestre Ledru Sun, 01 Dec 2013 17:49:46 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-2) unstable; urgency=low + + * Force the build to gcc 4.8... gcc 4.6 used on some Debian archs does not + support some C++ features. + * Fail the build when llvm tests are failing under amd64 + i386. More to come. + * Fix a libclang.so.1 issue during the clang tests + * Improve the patch 23-strlcpy_strlcat_warning_removed.diff + (also remove the tests) + * Make lldb 3.4 also conflict with 3.5 (Closes: #730163) + * Make python-clang 3.4 also conflict with 3.5 (Closes: #730164) + * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT + * silent warning "manpage-has-useless-whatis-entry" in lldb-3.4 + * silent warning "package-name-doesnt-match-sonames libclang1" + * Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd. + Thanks to Ed Maste for the patch. + + -- Sylvestre Ledru Tue, 26 Nov 2013 18:32:49 +0100 + +llvm-toolchain-3.4 (1:3.4~+rc1-1) unstable; urgency=low + + * New testing upstream release + * kfreebsd.diff removed. Applied upstream + * Remove patch 0046-Revert-Patch-to-set-is_stmt-a-little-better-for-prol.patch + Useless now and misleading + * Branch from llvm-toolchain-snapshot + * Standards-Version updated to 3.9.5 + + -- Sylvestre Ledru Wed, 20 Nov 2013 21:24:28 +0100 + +llvm-toolchain-snapshot (1:3.4~svn194079-1) unstable; urgency=low + + * New snapshot release + * Also install clang 3.4 examples (clang-3.4-examples) (Closes: #728260) + * Move c-index-test* from llvm-3.4 => clang-3.4. It was triggering an + unnecessary dependency from llvm-3.4 to libclang + + -- Sylvestre Ledru Fri, 01 Nov 2013 05:19:55 +0100 + +llvm-toolchain-snapshot (1:3.4~svn193628-1) unstable; urgency=low + + * New snapshot release + - Fix the scan-build warning (Closes: #725332) + * Merge changes from the 3.3 branch (see 1:3.3-12) + * Add lldb-3.4-dev package + * Remove mipsel-ftbfs.diff (applied upstream) + * Add support of coverity checker (non-free and not packaged) + * libprofile_rt and runtime has been removed upstream (r191835) + Features are provided by compiler-rt + * Update the build dependency from tcl8.5 to tcl (Closes: #725954) + * clang-modernize-3.4 was not coinstallable with clang 3.4 + (Closes: #724245) + * The package wasn't cleaned correctly (Closes: #722155) + * libtinfo-dev is now a dependency of llvm-3.4-dev (Closes: #727129) + * Install libclang.so in /usr/lib/*/libclang-3.4.so + * Install libclang.so.1 in /usr/lib/*/libclang-3.4.so.1 + * Also ship the python clang binding (python-clang-3.4) + * Enable polly if the dependencies are OK (only Debian unstable for now) + * Bring back /usr/lib/llvm-3.4/lib/libclang.so (libclang-3.4-dev) and + /usr/lib/llvm-3.4/lib/libclang.so.1 (libclang1-3.4) + * Honor the option "nocheck" + * Disable the build of lldb under HURD + * Ship the lldb headers into lldb-X.Y-dev (Closes: #723743) + I might create a liblldb-X.Y library at some point but I think it is too + early. + * Update the build dependency from tcl8.5 to tcl (Closes: #725953) + * Update of the clang descriptions (Closes: #727684) + + -- Sylvestre Ledru Tue, 29 Oct 2013 17:56:18 +0100 + +llvm-toolchain-snapshot (1:3.4~svn190846-1) unstable; urgency=low + + * New snapshot release + * Merge changes from the 3.3 branch (see 1:3.3-9) + * Remove ia64-fix.diff (applied upstream) + * cpp11-migrate renamed to clang-modernize + * lldb-3.4 is back to Architectures: any + * Patch lldb-hurd.diff removed (applied upstream) + * Directory www/ from tarballs polly & lldb removed + * Update of the description of LLVM packages + (LLVM no longer mean Low Level Virtual Machine) + + [ Luca Falavigna ] + * debian/control: + - Add llvm-3.4-dev to lldb-3.4 Depends field. + + -- Sylvestre Ledru Thu, 05 Sep 2013 12:04:35 +0200 + +llvm-toolchain-3.3 (1:3.3-9) unstable; urgency=low + + [ Luca Falavigna ] + * debian/control: + - Add llvm-3.3-dev to lldb-3.3 Depends field (Closes: #715129). + + [ Sylvestre Ledru ] + * Only use -fuse-ld=gold on supported distribution. Simplify the + backports. + * Fix 'bits/c++config.h' file not found under i386 + See libstdc++-header-i386.diff. (Closes: #714890) + * Add more fixes for the HURD port... (but still fails) + + [ Robert Millan ] + * clang under KfFreeBSD was not exporting the correct defines + (Closes: #721880) + + [ Jon Severinsson ] + * Merge from llvm-toolchain-3.2 branch up to 3.2repack-11. + * Drop auto-generated file debian/libllvm3.3.install. + * Automatically determine GCC_VERSION and dep:devlibs based on g++ package + version. + * Automatically determine if -fuse-ld=gold is supported based on binutils + package version. + + [ Adam Conrad ] + * debian/patches/lldb-link-atomic.diff: Link lldb with -latomic to get + builtin GCC atomic helpers on arches (like powerpc) that need them. + + -- Sylvestre Ledru Mon, 26 Aug 2013 14:48:42 +0200 + +llvm-toolchain-3.3 (1:3.3-8) unstable; urgency=low + + [ Sylvestre Ledru ] + * Fix another issues under HURD... + + [ Luca Falavigna ] + * debian/patches/libprofile_rt_sparc.patch: + - Re-enable libprofile_rt on Sparc, fix FTBFS. + + -- Sylvestre Ledru Fri, 23 Aug 2013 15:02:05 +0200 + +llvm-toolchain-3.3 (1:3.3-7) unstable; urgency=low + + * debhelper version 9.20130720 fails on the call to dh_auto_clean + Remove it. It was anyway useless. + + -- Sylvestre Ledru Thu, 22 Aug 2013 14:28:25 +0200 + +llvm-toolchain-3.3 (1:3.3-6) unstable; urgency=low + + * Fix the FTBFS under hurd and KFreeBSD + * Do not remove all *.o in tests. Some of them are from upstream source + tarball. Thanks to Maarten Lankhorst for the fix. + * Fix the lintian error 'lldb-3.3: postinst-must-call-ldconfig' + * Add the manpages of clang-format-3.3 + * Overrides the manpages warnings + * Also apply unwind-chain-inclusion.diff from the snapshot branch to make sure + we can build the package locally even if libclang-dev is installed + + -- Sylvestre Ledru Thu, 22 Aug 2013 09:01:04 +0200 + +llvm-toolchain-3.3 (1:3.3-5) unstable; urgency=low + + * Install llvm-c headers also in usr/include/llvm-3.3/llvm-c + * Fix the FTBFS under mips & mipsel + * Refresh of the kfreebsd i386 patch + + -- Sylvestre Ledru Wed, 07 Aug 2013 13:12:23 +0200 + +llvm-toolchain-3.3 (1:3.3-4) unstable; urgency=low + + * Use the static library libjsoncpp.a instead of the ship library in polly + + -- Sylvestre Ledru Sun, 11 Aug 2013 09:54:17 +0200 + +llvm-toolchain-snapshot (1:3.4~svn185325-1) unstable; urgency=low + + * binutils-gold no longer exists. Use -fuse-ld=gold instead. + + -- Sylvestre Ledru Thu, 01 Aug 2013 14:06:38 +0200 + +llvm-toolchain-snapshot (1:3.3-2) unstable; urgency=low + + * Fix warning python-script-but-no-python-dep on clang-format-X.Y + * manpages are generated during build time (simplifies maintenance) + * Fix duplicate underscore.js and jquery.js + * Move libjs-jquery & libjs-underscore dependencies to llvm-X.Y-doc + * Add lldb-X.Y manpage + * Hopefully fix the ftbfs under mipsel (mipsel-ftbfs.diff) + * Disable the usage of binutils-gold under armel. It currently fails with: + "attempt to map 2752512 bytes at offset 2066666 exceeds size of file; + the file may be corrupt" + + [ Léo Cavaillé ] + * Add patch to find correctly LLVMGold.so with -O4 (Closes: #712437) + + -- Sylvestre Ledru Thu, 20 Jun 2013 15:39:11 +0200 + +llvm-toolchain-snapshot (1:3.4~svn184294-1~exp1) experimental; urgency=low + + * New snapshot release + * Improve some scripts and fix cpp11-migrate install from + clang-tools-extra. + * Fix "versionless" clang manpages install. + * Fix Toolchain patch from change of scope (add namespaces). + + -- Sylvestre Ledru Wed, 19 Jun 2013 14:20:12 +0200 + +llvm-toolchain-snapshot (1:3.4~svn183914-1) unstable; urgency=low + + * New snapshot release + * Upload to unstable (will be blocked by a RC bug) + * Sync changes from llvm-toolchain-3.3: + - Introduce cpp11-migrate-3.4 and clang-format-3.4 + - Install the vim llvm script at the right place + + -- Sylvestre Ledru Thu, 13 Jun 2013 18:47:08 +0200 + +llvm-toolchain-snapshot (1:3.4~svn182733-1~exp1) experimental; urgency=low + + * New snapshot release (3.4 release) + * Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so + to fix make the llvm-config-3.4 --libdir work (Closes: #708677) + * Various packages rename to allow co installations: + * libclang1 => libclang1-3.4 + * libclang1-dbg => libclang1-3.4-dbg + * libclang-dev => libclang-3.4-dev + * libclang-common-dev => libclang-common-3.4-dev + + -- Sylvestre Ledru Mon, 27 May 2013 15:01:57 +0200 + +llvm-toolchain-snapshot (1:3.3~svn179851-1~exp1) experimental; urgency=low + + * Draft of a snapshot release (3.3) + * Enable r600 experimental backend + * Improve the dependencies: + * clang-3.3 depends on the exact same libllvm3.3 release + * idem for lldb-3.3 + + -- Sylvestre Ledru Fri, 19 Apr 2013 09:31:38 +0200 + +llvm-toolchain-3.2 (1:3.2repack-11) unstable; urgency=low + + * dh_auto_clean removed, just like in the 3.3 + * Use the static library libjsoncpp.a instead of shipping library in polly + Backport of the modification of 3.3 + + [ Adam Conrad ] + * Revive deltas from the previous Ubuntu versions of llvm and clang: + - debian/patches/35-ubuntu-releases.diff: Add UbuntuSaucy to table. + - debian/patches/JITEmitter.patch: Fix a segfault in the exception + table of the JIT code emitter (See Launchpad bug #1160587) + + [ Luca Falavigna ] + * debian/patches/libprofile_rt_sparc.patch: + - Re-enable libprofile_rt on Sparc, fix FTBFS. + + -- Sylvestre Ledru Fri, 23 Aug 2013 11:49:09 +0200 + +llvm-toolchain-3.2 (1:3.2repack-10) unstable; urgency=low + + * Fix the wrong package declaration on libstdc++-4.8-dev (Closes: #713944) + + -- Sylvestre Ledru Mon, 24 Jun 2013 23:00:47 +0200 + +llvm-toolchain-3.2 (1:3.2repack-9) unstable; urgency=low + + * Switch to libstdc++ 4.8 instead of 4.7 for the headers (Closes: #712520) + * Depends against libobjc-4.8-dev and libgcc-4.8-dev + * Disable the usage of binutils-gold under armel. It currently fails with: + "attempt to map 2752512 bytes at offset 2066666 exceeds size of file; + the file may be corrupt" + * Add DEBUGMAKE=1 to get information about compiler-rt compilation + * Fix "libclang-common-dev: missing-depends-line" + + -- Sylvestre Ledru Sat, 22 Jun 2013 07:38:41 +0200 + +llvm-toolchain-3.2 (1:3.2repack-8) unstable; urgency=low + + * Fix the build under ia64. Thanks to Luca Falavigna for the patch + (ia64-fix.diff) + * Disable lldb-3.2: + - the quality is not good enough + - We have lldb-3.3 now in the archive + - Too many backported patches would be necessary for lldb-3.2 to work + - It blocks some important transitions (mesa) + * Add the detection of Ubuntu saucy + + -- Sylvestre Ledru Mon, 03 Jun 2013 11:32:29 +0200 + +llvm-toolchain-3.2 (1:3.2repack-7) unstable; urgency=low + + * For now, enable only lldb for amd64 and i386 (blocks too many things) + (Bis) (Closes: #707866) + * Add a symlink of libLLVM-3.2.so.1 to usr/lib/llvm-3.2/lib/libLLVM-3.2.so + to fix make the llvm-config-3.2 --libdir work (Closes: #708677) + + -- Sylvestre Ledru Mon, 27 May 2013 13:20:30 +0200 + +llvm-toolchain-3.2 (1:3.2repack-6) unstable; urgency=low + + * Create the compiler-rt directory to make the install of compiler-rt works + + -- Sylvestre Ledru Sat, 18 May 2013 18:08:52 +0200 + +llvm-toolchain-3.2 (1:3.2repack-5) unstable; urgency=low + + * For now, enable only lldb for amd64 and i386 (blocks too many things) + + -- Sylvestre Ledru Sat, 18 May 2013 10:24:04 +0200 + +llvm-toolchain-3.2 (1:3.2repack-4) unstable; urgency=low + + * Add several patches which, hopefully, will fix the build under ARM, S390, + S390X, etc (lldb-apple_only.diff, lldb-user-remove.diff & lldb-hurd.diff) + * Include sys/wait.h also under kfreebsd (kfreebsd-thread.diff) + + -- Sylvestre Ledru Wed, 15 May 2013 12:04:24 +0200 + +llvm-toolchain-3.2 (1:3.2repack-3) unstable; urgency=low + + * Before the configure, show which version of CC is being used. + * Add support of kfreebsd and hurd in lldb (kfreebsd-hurd-lldb.diff) + * Force the usage of gcc 4.7 for all archs. Should fix some FTBFS + (Closes: #707866) + * Fix the symlink on clang++.1.gz llvm-clang.1.gz (Closes: #707832) + + [ Jon Severinsson ] + * Re-enable the r600 backend and update it to the mesa-9.1.1 tag. + (Closes: #708009) + + -- Sylvestre Ledru Tue, 14 May 2013 12:10:07 +0200 + +llvm-toolchain-3.2 (1:3.2repack-2) unstable; urgency=low + + * Do not depend on libobjc-4.7-dev & libgcc-4.7-dev. + They are still only in experimental + * Disable the usage of binutils-gold under [powerpc powerpcspe ppc64 sparc + sparc64] to fix FTBFS + + -- Sylvestre Ledru Tue, 07 May 2013 13:15:20 +0200 + +llvm-toolchain-3.2 (1:3.2repack-1) unstable; urgency=low + + * Upload to unstable + * Standards-Version update to 3.9.4 + * clang pure virtual function call crash with binaries built with C++11's + std::thread. Upstream commit 178816 (Closes: #705838) + * Introduce a symbols file for libclang1 (Closes: #705672) + + -- Sylvestre Ledru Sun, 21 Apr 2013 14:06:23 +0200 + +llvm-toolchain-3.2 (1:3.2repack-1~exp4) experimental; urgency=low + + * Build using binutls-gold to improve the quality of the binaries. + See: http://allievi.sssup.it/techblog/?p=791 + * Detect the vendor (Debian or Ubuntu) and update the configuration + * Port to powerpcspe. Thanks to Roland Stigge (Closes: #701587) + See: 31-powerpcspe.diff + * Fix the path detection of scan-build (Closes: #698352) + See: 32-scan-build-path.diff + * debian/patches/r600-snapshot.diff: Move backports into individual patches. + * debian/patches/r600-snapshot.diff: Update to mesa-9.1 git tag. + (Closes: #703671, #697356) + * Fix a typo in the detection of the vendor + + [ Peter Michael Green ] + * Use binutils-gold only on architectures where it is actually available + * 33-armhf-defaults.diff Fix defaults to use correct CPU and FPU for + debian armhf (Closes: #704111) + * 34-powerpc-no-altivec.diff disable altivec by default on powerpc because + debian powerpc does not require altivec (patch cherry picked from ubuntu) + + -- Sylvestre Ledru Thu, 14 Mar 2013 17:47:12 +0100 + +llvm-toolchain-3.2 (1:3.2repack-1~exp3) experimental; urgency=low + + * Remove package "clang". It is now provided by llvm-defaults. + * Fix some issues relative to the epoch change + * Fix a wrong path in the _lldb.so Python symlink + * Install cmake files to build LLVM extensions (Closes: #701153) + * Remove the embedded copy of libjs-jquery (Closes: #701087) + * Fix the install of lli manpage (Closes: #697117) + + -- Sylvestre Ledru Sun, 17 Feb 2013 12:05:15 +0100 + +llvm-toolchain-3.2 (1:3.2repack-1~exp2) experimental; urgency=low + + * Install the python files for lldb. Thanks to Daniel Malea for spotting this. + * Update of the clean target + * Introduce an epoch to match the changes in bug #699899 + + -- Sylvestre Ledru Wed, 13 Feb 2013 12:22:30 +0100 + +llvm-toolchain-3.2 (3.2repack-1~exp1) experimental; urgency=low + + * Build the whole LLVM toolchain at once. This includes: + - LLVM + - Clang + - compiler-rt + - lldb + - polly + * Also install clang-check & clang-tblgen in the clang-3.2 package + * Fix the patch detection of clang from scan-build (Closes: #698352) + * debian/patches/0050-powerpcspe-fp.diff: Add, hopefully fix FTBFS on + powerpcspe, by disabling save / restore of floating point registers which + don't exist on powerpcspe. Thanks to Roland Stigge for the patch. + (Closes: #696474) + * libLLVM-3.2.so.1 is now shipped only once (Closes: #696913) + * Enable RTTI (Closes: #697754) + * Introduce lldb as a new package (Closes: #698601) + * Add a script pollycc which will call clang with the right arguments. + * Use __builtin___clear_cache on ARM to fix a clang bug. + Thanks to Matthias Klose. + + -- Sylvestre Ledru Sat, 09 Feb 2013 12:14:10 +0100 diff --git a/clang-X.Y-doc.docs.in b/clang-X.Y-doc.docs.in new file mode 100644 index 0000000000..8c9084cfbe --- /dev/null +++ b/clang-X.Y-doc.docs.in @@ -0,0 +1,2 @@ +clang/docs/_build/html/ + diff --git a/clang-X.Y-doc.install.in b/clang-X.Y-doc.install.in new file mode 100644 index 0000000000..694bc7b3a7 --- /dev/null +++ b/clang-X.Y-doc.install.in @@ -0,0 +1,2 @@ +@LLVM_DIR@/share/clang-doc/ + diff --git a/clang-X.Y-doc.lintian-overrides.in b/clang-X.Y-doc.lintian-overrides.in new file mode 100644 index 0000000000..1a8cf41834 --- /dev/null +++ b/clang-X.Y-doc.lintian-overrides.in @@ -0,0 +1,4 @@ +clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/searchtools.js] +clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/language_data.js] +clang-@LLVM_VERSION@-doc: embedded-javascript-library please use sphinx [usr/share/doc/clang-*/html/_static/doctools.js] +clang-@LLVM_VERSION@-doc: privacy-breach-generic: *youtube* diff --git a/clang-X.Y-examples.examples.in b/clang-X.Y-examples.examples.in new file mode 100644 index 0000000000..49cbc5fef7 --- /dev/null +++ b/clang-X.Y-examples.examples.in @@ -0,0 +1 @@ +clang/examples/* diff --git a/clang-X.Y.install.in b/clang-X.Y.install.in new file mode 100644 index 0000000000..6f7bcc022c --- /dev/null +++ b/clang-X.Y.install.in @@ -0,0 +1,16 @@ +@LLVM_DIR@/bin/clang +@LLVM_DIR@/bin/clang++ +@LLVM_DIR@/bin/clang-cpp +@LLVM_DIR@/bin/clang-scan-deps +@LLVM_DIR@/bin/clang-cl + +#usr/share/man/man1/clang.1 usr/share/man/man1/ +@LLVM_LIBDIR@/cmake/clang/*.cmake +@LLVM_DIR@/share/clang/bash-autocomplete.sh + +usr/bin/clang-@LLVM_VERSION@ +usr/bin/clang++-@LLVM_VERSION@ +usr/bin/clang-cpp-@LLVM_VERSION@ +usr/bin/clang-scan-deps-@LLVM_VERSION@ +usr/bin/clang-cl-@LLVM_VERSION@ + diff --git a/clang-X.Y.links.in b/clang-X.Y.links.in new file mode 100644 index 0000000000..2c938b1fcd --- /dev/null +++ b/clang-X.Y.links.in @@ -0,0 +1,3 @@ +@LLVM_DIR@/bin/clang @LLVM_DIR@/bin/clang-@LLVM_VERSION@ +@LLVM_LIBDIR@/cmake/clang usr/lib/cmake/clang-@LLVM_VERSION@ +@LLVM_DIR@/share/clang/bash-autocomplete.sh usr/share/bash-completion/completions/clang-@LLVM_VERSION@ diff --git a/clang-X.Y.lintian-overrides.in b/clang-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..744f74de0f --- /dev/null +++ b/clang-X.Y.lintian-overrides.in @@ -0,0 +1,6 @@ +# Does not link otherwise +clang-@LLVM_VERSION@: embedded-library @LLVM_DIR@/bin/clang: libjsoncpp +# expected +clang-@LLVM_VERSION@: executable-not-elf-or-script *@LLVM_DIR@/share/clang/bash-autocomplete.sh* +# known ... +clang-@LLVM_VERSION@: no-manual-page diff --git a/clang-X.Y.manpages.in b/clang-X.Y.manpages.in new file mode 100644 index 0000000000..b19400aff2 --- /dev/null +++ b/clang-X.Y.manpages.in @@ -0,0 +1 @@ +clang/docs/_build/man/clang-@LLVM_VERSION@.1 diff --git a/clang-format-X.Y.install.in b/clang-format-X.Y.install.in new file mode 100644 index 0000000000..7fed98f6ea --- /dev/null +++ b/clang-format-X.Y.install.in @@ -0,0 +1,10 @@ +clang/tools/clang-format/clang-format-@LLVM_VERSION@.py usr/share/vim/addons/syntax/ +clang/tools/clang-format/clang-format-diff-@LLVM_VERSION@ /usr/bin/ +usr/bin/clang-format-@LLVM_VERSION@ +usr/bin/git-clang-format-@LLVM_VERSION@ +@LLVM_DIR@/bin/clang-format +@LLVM_DIR@/bin/git-clang-format +@LLVM_DIR@/share/clang/clang-format-diff.py usr/share/clang/clang-format-@LLVM_VERSION@/ +@LLVM_DIR@/share/clang/clang-format.py usr/share/clang/clang-format-@LLVM_VERSION@/ +@LLVM_DIR@/share/clang/clang-format.el usr/share/emacs/site-lisp/clang-format-@LLVM_VERSION@/ +@LLVM_DIR@/share/clang/clang-format-sublime.py usr/share/clang/clang-format-@LLVM_VERSION@/ diff --git a/clang-format-X.Y.lintian-overrides.in b/clang-format-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..c7699f19e2 --- /dev/null +++ b/clang-format-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +# I know but well... +clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-format-diff-@LLVM_VERSION@.1.gz* +clang-format-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-format-@LLVM_VERSION@.1.gz* + diff --git a/clang-format-X.Y.manpages.in b/clang-format-X.Y.manpages.in new file mode 100644 index 0000000000..e4b4fa7589 --- /dev/null +++ b/clang-format-X.Y.manpages.in @@ -0,0 +1,4 @@ +debian/man/clang-format-diff-@LLVM_VERSION@.1 +debian/man/clang-format-@LLVM_VERSION@.1 +debian/man/git-clang-format-@LLVM_VERSION@.1 + diff --git a/clang-tidy-X.Y.install.in b/clang-tidy-X.Y.install.in new file mode 100644 index 0000000000..6a4059f4ab --- /dev/null +++ b/clang-tidy-X.Y.install.in @@ -0,0 +1,6 @@ +@LLVM_DIR@/bin/clang-tidy +@LLVM_DIR@/bin/run-clang-tidy +@LLVM_DIR@/share/clang/clang-tidy-diff.py + +usr/bin/clang-tidy-@LLVM_VERSION@ +usr/bin/run-clang-tidy-@LLVM_VERSION@ diff --git a/clang-tidy-X.Y.links.in b/clang-tidy-X.Y.links.in new file mode 100644 index 0000000000..1f14fbce1a --- /dev/null +++ b/clang-tidy-X.Y.links.in @@ -0,0 +1,3 @@ +@LLVM_DIR@/bin/run-clang-tidy usr/bin/run-clang-tidy-@LLVM_VERSION@.py +@LLVM_DIR@/share/clang/clang-tidy-diff.py usr/bin/clang-tidy-diff-@LLVM_VERSION@.py + diff --git a/clang-tidy-X.Y.lintian-overrides.in b/clang-tidy-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..f6de92f697 --- /dev/null +++ b/clang-tidy-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +# I know but well... +clang-tidy-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-tidy-@LLVM_VERSION@.1.gz* +# known +clang-tidy-@LLVM_VERSION@: no-manual-page diff --git a/clang-tidy-X.Y.manpages.in b/clang-tidy-X.Y.manpages.in new file mode 100644 index 0000000000..90e2c5cfc4 --- /dev/null +++ b/clang-tidy-X.Y.manpages.in @@ -0,0 +1,2 @@ +debian/man/clang-tidy-@LLVM_VERSION@.1 +debian/man/run-clang-tidy-@LLVM_VERSION@.1 \ No newline at end of file diff --git a/clang-tools-X.Y.install.in b/clang-tools-X.Y.install.in new file mode 100755 index 0000000000..c07ebc50dc --- /dev/null +++ b/clang-tools-X.Y.install.in @@ -0,0 +1,105 @@ +#!/usr/bin/dh-exec + +@LLVM_DIR@/bin/clang-check +@LLVM_DIR@/bin/clang-apply-replacements +@LLVM_DIR@/bin/clang-query +@LLVM_DIR@/bin/scan-view +@LLVM_DIR@/bin/scan-build +@LLVM_DIR@/bin/sancov +@LLVM_DIR@/share/scan-view/ +@LLVM_DIR@/share/scan-build/ +@LLVM_DIR@/share/man/man1/scan-build.1 +@LLVM_LIBDIR@exec/ccc-analyzer +@LLVM_LIBDIR@exec/c++-analyzer +@LLVM_DIR@/bin/clang-offload-bundler +@LLVM_DIR@/bin/clang-reorder-fields +@LLVM_DIR@/bin/clang-change-namespace +@LLVM_DIR@/bin/modularize +@LLVM_DIR@/bin/c-index-test +@LLVM_DIR@/bin/clang-include-fixer +@LLVM_DIR@/bin/find-all-symbols +@LLVM_DIR@/bin/clang-refactor +@LLVM_DIR@/bin/diagtool +@LLVM_DIR@/bin/hmaptool +@LLVM_DIR@/bin/clang-extdef-mapping +@LLVM_DIR@/bin/clang-doc +@LLVM_DIR@/bin/pp-trace +@LLVM_DIR@/bin/clang-move +@LLVM_DIR@/bin/clang-repl +@LLVM_DIR@/bin/clang-linker-wrapper +@LLVM_DIR@/bin/clang-offload-packager +@LLVM_DIR@/bin/clang-tblgen +@LLVM_DIR@/bin/clang-include-cleaner +@LLVM_DIR@/bin/amdgpu-arch +@LLVM_DIR@/bin/nvptx-arch +@LLVM_DIR@/bin/clang-installapi +@LLVM_DIR@/bin/clang-nvlink-wrapper +@LLVM_DIR@/bin/clang-sycl-linker +@LLVM_DIR@/bin/offload-arch + +@LLVM_DIR@/bin/analyze-build +@LLVM_DIR@/bin/intercept-build +@LLVM_DIR@/bin/scan-build-py +@LLVM_LIBDIR@/libear/__init__.py +@LLVM_LIBDIR@/libear/config.h.in +@LLVM_LIBDIR@/libear/ear.c +@LLVM_LIBDIR@/libscanbuild/__init__.py +@LLVM_LIBDIR@/libscanbuild/analyze.py +@LLVM_LIBDIR@/libscanbuild/arguments.py +@LLVM_LIBDIR@/libscanbuild/clang.py +@LLVM_LIBDIR@/libscanbuild/compilation.py +@LLVM_LIBDIR@/libscanbuild/intercept.py +@LLVM_LIBDIR@/libscanbuild/report.py +@LLVM_LIBDIR@/libscanbuild/resources/scanview.css +@LLVM_LIBDIR@/libscanbuild/resources/selectable.js +@LLVM_LIBDIR@/libscanbuild/resources/sorttable.js +@LLVM_LIBDIR@/libscanbuild/shell.py +@LLVM_LIBDIR@exec/analyze-c++ +@LLVM_LIBDIR@exec/analyze-cc +@LLVM_LIBDIR@exec/intercept-c++ +@LLVM_LIBDIR@exec/intercept-cc + +[@HWASAN_ARCHS@] @LLVM_LIBDIR@/clang/@LLVM_VERSION@/bin/hwasan_symbolize + +clang/tools/scan-build-@LLVM_VERSION@ usr/share/clang/ +clang/tools/scan-view-@LLVM_VERSION@ usr/share/clang/ + +usr/bin/scan-build-py-@LLVM_VERSION@ +usr/bin/analyze-build-@LLVM_VERSION@ +usr/bin/intercept-build-@LLVM_VERSION@ + +@LLVM_DIR@/share/clang/run-find-all-symbols.py +@LLVM_DIR@/share/clang/clang-include-fixer.py +@LLVM_DIR@/share/clang/clang-include-fixer.el +usr/bin/clang-check-@LLVM_VERSION@ +usr/bin/clang-apply-replacements-@LLVM_VERSION@ +usr/bin/clang-query-@LLVM_VERSION@ +usr/bin/sancov-@LLVM_VERSION@ +usr/bin/modularize-@LLVM_VERSION@ +usr/bin/scan-build-@LLVM_VERSION@ +usr/bin/scan-view-@LLVM_VERSION@ +usr/bin/c-index-test-@LLVM_VERSION@ +usr/bin/clang-offload-bundler-@LLVM_VERSION@ +usr/bin/clang-reorder-fields-@LLVM_VERSION@ +usr/bin/find-all-symbols-@LLVM_VERSION@ +usr/bin/clang-include-fixer-@LLVM_VERSION@ +usr/bin/clang-change-namespace-@LLVM_VERSION@ +usr/bin/clang-refactor-@LLVM_VERSION@ +usr/bin/diagtool-@LLVM_VERSION@ +usr/bin/hmaptool-@LLVM_VERSION@ +usr/bin/clang-extdef-mapping-@LLVM_VERSION@ +usr/bin/clang-doc-@LLVM_VERSION@ +usr/bin/clang-move-@LLVM_VERSION@ +usr/bin/pp-trace-@LLVM_VERSION@ +usr/bin/clang-repl-@LLVM_VERSION@ +usr/bin/clang-linker-wrapper-@LLVM_VERSION@ +usr/bin/clang-offload-packager-@LLVM_VERSION@ +usr/bin/clang-tblgen-@LLVM_VERSION@ +usr/bin/clang-include-cleaner-@LLVM_VERSION@ +usr/bin/amdgpu-arch-@LLVM_VERSION@ +usr/bin/nvptx-arch-@LLVM_VERSION@ +usr/bin/clang-installapi-@LLVM_VERSION@ +usr/bin/clang-nvlink-wrapper-@LLVM_VERSION@ +usr/bin/clang-sycl-linker-@LLVM_VERSION@ +usr/bin/offload-arch-@LLVM_VERSION@ + diff --git a/clang-tools-X.Y.links.in b/clang-tools-X.Y.links.in new file mode 100755 index 0000000000..0308522eb9 --- /dev/null +++ b/clang-tools-X.Y.links.in @@ -0,0 +1,6 @@ +#!/usr/bin/dh-exec + +usr/share/clang/scan-build-@LLVM_VERSION@/bin/scan-build usr/bin/scan-build-@LLVM_VERSION@ +usr/share/clang/scan-view-@LLVM_VERSION@/bin/scan-view usr/bin/scan-view-@LLVM_VERSION@ + +[@HWASAN_ARCHS@] @LLVM_LIBDIR@/clang/@LLVM_VERSION@/bin/hwasan_symbolize usr/bin/hwasan_symbolize-@LLVM_VERSION@ diff --git a/clang-tools-X.Y.lintian-overrides.in b/clang-tools-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..6c372826db --- /dev/null +++ b/clang-tools-X.Y.lintian-overrides.in @@ -0,0 +1,9 @@ +# I know but well... +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-check.1.gz* +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/scan-view.1.gz* +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-apply-replacements-@LLVM_VERSION@.1.gz* +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/clang-check-@LLVM_VERSION@.1.gz* +clang-tools-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/scan-view-@LLVM_VERSION@.1.gz* + +# known +clang-tools-@LLVM_VERSION@: no-manual-page diff --git a/clang-tools-X.Y.manpages.in b/clang-tools-X.Y.manpages.in new file mode 100644 index 0000000000..299d183623 --- /dev/null +++ b/clang-tools-X.Y.manpages.in @@ -0,0 +1,11 @@ +clang/tools/scan-build/man/scan-build-@LLVM_VERSION@.1 +debian/man/clang-check-@LLVM_VERSION@.1 +debian/man/clang-query-@LLVM_VERSION@.1 +debian/man/clang-apply-replacements-@LLVM_VERSION@.1 +debian/man/sancov-@LLVM_VERSION@.1 +debian/man/scan-view-@LLVM_VERSION@.1 +debian/man/modularize-@LLVM_VERSION@.1 +debian/man/find-all-symbols-@LLVM_VERSION@.1 +debian/man/clang-include-fixer-@LLVM_VERSION@.1 +debian/man/clang-reorder-fields-@LLVM_VERSION@.1 +debian/man/clang-repl-@LLVM_VERSION@.1 diff --git a/clangd-X.Y.install.in b/clangd-X.Y.install.in new file mode 100644 index 0000000000..ba033fc131 --- /dev/null +++ b/clangd-X.Y.install.in @@ -0,0 +1,3 @@ +@LLVM_DIR@/bin/clangd +usr/bin/clangd-@LLVM_VERSION@ + diff --git a/clangd-X.Y.manpages.in b/clangd-X.Y.manpages.in new file mode 100644 index 0000000000..1ac3b604d9 --- /dev/null +++ b/clangd-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/clangd-@LLVM_VERSION@.1 \ No newline at end of file diff --git a/compat b/compat new file mode 100644 index 0000000000..b4de394767 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000000..e00d51c29a --- /dev/null +++ b/control @@ -0,0 +1,1050 @@ +Source: llvm-toolchain-21 +Section: devel +Priority: optional +Rules-Requires-Root: no +Maintainer: LLVM Packaging Team +Uploaders: Sylvestre Ledru , + Gianfranco Costamagna , + Matthias Klose , +Build-Depends: debhelper (>= 11.0), cmake, ninja-build, + chrpath, texinfo, sharutils, + libelf-dev, + libffi-dev, + lsb-release, patchutils, diffstat, xz-utils, python3-dev, + libedit-dev, libncurses-dev, swig, python3-sphinx (>= 1.3.6), + binutils-dev, lld [amd64 arm64 armel armhf i386 loong64 ppc64el riscv64 s390x], + libxml2-dev, + libipt-dev [amd64 i386], + lcov, procps, help2man, + zlib1g-dev, libzstd-dev, + g++-multilib [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32] | hello [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32], + libjs-mathjax, python3-myst-parser | python3-recommonmark, python3-pexpect, + doxygen, time, + dh-exec, dh-python, ocaml-base [amd64 arm64 ppc64el riscv64 s390x] | ocaml-nox [amd64 arm64 ppc64el riscv64 s390x] , ocaml-findlib [amd64 arm64 ppc64el riscv64 s390x] , libctypes-ocaml-dev [amd64 arm64 ppc64el riscv64 s390x] , dh-ocaml [amd64 arm64 ppc64el riscv64 s390x] , + libpfm4-dev [linux-any], python3-setuptools, libz3-dev [!sh4], +# "| hello" is for older buster/bionic distros without spirv support +# We need to keep the constraints coherent between the two alternatives, otherwise +# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled + llvm-spirv-21 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + spirv-tools [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + wasi-libc | hello, + mingw-w64-common, + libcurl4-openssl-dev | libcurl-dev , + libgrpc++-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + protobuf-compiler-grpc [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + libprotobuf-dev [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + protobuf-compiler [amd64 arm64 armel armhf i386 mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , +Build-Conflicts: oprofile, llvm-21-runtime, clang-21 +Standards-Version: 4.7.2 +Homepage: https://www.llvm.org/ +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b 21 +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/21 + +# ------------- clang ------------- + +Package: clang-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, + libllvm21 (= ${binary:Version}), + libclang-common-21-dev (= ${binary:Version}), + llvm-21-linker-tools (= ${binary:Version}), + libclang1-21 (= ${binary:Version}), libc6-dev, binutils +Provides: c-compiler, objc-compiler, c++-compiler, objc++-compiler +Recommends: llvm-21-dev, python3, clang-tools-21 +# libomp-21-dev +Suggests: clang-21-doc, wasi-libc +Breaks: clang-tools-21 (<< 1:21.1.4-4) +Replaces: clang-tools-21 (<< 1:21.1.4-4) +Description: C, C++ and Objective-C compiler + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + +Package: clang-tools-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-21 (= ${binary:Version}), + python3:any, ${python3:Depends} +Breaks: clang-21 (<< 1:21.1.4-6) +Replaces: clang-21 (<< 1:21.1.4-6) +Description: clang-based tools for C/C++ developments + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains some clang-based tools like scan-build, etc. + +Package: clang-format-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm21 (= ${binary:Version}) +Description: Tool to format C/C++/Obj-C code + Clang-format is both a library and a stand-alone tool with the goal of + automatically reformatting C++ sources files according to configurable + style guides. To do so, clang-format uses Clang's Lexer to transform an + input file into a token stream and then changes all the whitespace around + those tokens. The goal is for clang-format to both serve both as a user + tool (ideally with powerful IDE integrations) and part of other + refactoring tools, e.g. to do a reformatting of all the lines changed + during a renaming. + . + This package also provides vim and emacs plugins. + +Package: clang-tidy-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm21 (= ${binary:Version}), + libclang-common-21-dev (= ${binary:Version}), + clang-tools-21, python3-yaml +Description: clang-based C++ linter tool + Provide an extensible framework for diagnosing and fixing typical programming + errors, like style violations, interface misuse, or bugs that can be deduced + via static analysis. clang-tidy is modular and provides a convenient interface + for writing new checks. + +Package: clangd-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, + libllvm21 (= ${binary:Version}), + libclang-common-21-dev (= ${binary:Version}), +Description: Language server that provides IDE-like features to editors + clangd understands your C++ code and adds smart features to your editor: + - code completion + - compile errors + - go-to-definition + - and more. + . + clangd is a language server that implements the Language Server Protocol; + it can work with many editors through a plugin. + +Package: clang-21-doc +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax +Description: C, C++ and Objective-C compiler - Documentation + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the documentation. + +Package: libclang1-21 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: C interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang library. + . + The C Interface to Clang provides a relatively small API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang1-21 (= ${binary:Version}), + libclang-common-21-dev (= ${binary:Version}) +Description: Clang library - Development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang headers to develop extensions over + libclang1-21. + +Package: libclang-common-21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Multi-Arch: same +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, +Recommends: libclang-rt-21-dev +Description: Clang library - Common development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang generic headers. + +# ------------- compiler-rt ------------- + +Package: libclang-rt-21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - development package + This package provides various libraries: + . + * builtins - Simple libraries that provide implementation of the + low-level target-specific hooks required by code generation + and other runtime components. + * sanitizer runtimes - AddressSanitizer, ThreadSanitizer, + UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer + DataFlowSanitizer, etc + * profile - Library which is used to collect coverage information. + +Package: libclang-rt-21-dev-wasm32 +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - wasm32 builtins + Provides the compiler-rt builtins for WebAssembly 32 bits + +Package: libclang-rt-21-dev-wasm64 +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - wasm64 builtins + Provides the compiler-rt builtins for WebAssembly 64 bits + +Package: libclang-rt-21-dev-win +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - Windows builtins + Provides the compiler-rt builtins for Windows + +# ------------- polly ------------- + +Package: libpolly-21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: High-level loop and data-locality optimizer + Uses an abstract mathematical representation based on integer polyhedra + to analyze and optimize the memory access pattern of a program + +# ------------- clang libraries ------------- + +Package: libclang-cpp21 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm21 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-cpp21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + libclang-cpp21 (= ${binary:Version}) +# Move of libclang-cpp.so into libclang-cpp21.dev +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + . + This package contains symlinks without a version number, which are needed by + linker at build time. + + +Package: libfuzzer-21-dev +Build-Profiles: +Architecture: amd64 arm64 armel armhf i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-21 (= ${binary:Version}) +Description: Library for coverage-guided fuzz testing + LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing + of other libraries. + . + LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs + all of its fuzzing inside a single process. This in-process fuzzing can be + more restrictive and fragile, but is potentially much faster as there is no + overhead for process start-up. + . + The fuzzer is linked with the library under test, and feeds fuzzed inputs to + the library via a specific fuzzing entrypoint (aka 'target function'); the + fuzzer then tracks which areas of the code are reached, and generates mutations + on the corpus of input data in order to maximize the code coverage. The code + coverage information for libFuzzer is provided by LLVM's SanitizerCoverage + instrumentation. + + +Package: python3-clang-21 +Build-Profiles: +Section: python +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, libclang-21-dev +Replaces: python-clang-x.y, +Conflicts: python-clang-x.y +Provides: python-clang-x.y +Description: Clang Python Bindings + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This binding package provides access to the Clang compiler and libraries. + +Package: clang-21-examples +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Clang examples + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang examples. + +# ------------- LLVM ------------- + +Package: libllvm21 +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Modular compiler and toolchain technologies, runtime library + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVM runtime library. + +Package: llvm-21-linker-tools +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Modular compiler and toolchain technologies - Plugins + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVMgold and LLVMPolly linker plugins. + +Package: llvm-21 +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Suggests: llvm-21-doc +Depends: llvm-21-runtime (= ${binary:Version}), + llvm-21-linker-tools (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-21-dev +Description: Modular compiler and toolchain technologies + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends, a front-end for a Forth-like language (Stacker), + a young scheme front-end, and Java support is in development. LLVM can + generate code for X96, SparcV10, PowerPC or many other architectures. + +Package: llvm-21-runtime +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: binfmt-support | systemd +Description: Modular compiler and toolchain technologies, IR interpreter + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the minimal required to execute programs in LLVM + format. + +Package: llvm-21-dev +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, + llvm-21 (= ${binary:Version}), libllvm21 (= ${binary:Version}), libncurses-dev, + llvm-21-tools (= ${binary:Version}), libclang-cpp21 (= ${binary:Version}), + libxml2-dev, libz3-dev [!sh4], +Description: Modular compiler and toolchain technologies, libraries and headers + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the libraries and headers to develop applications + using llvm. + +Package: llvm-21-tools +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, + python3:any, ${python3:Depends}, python3-pygments, python3-yaml, +# Because of yaml-bench +Description: Modular compiler and toolchain technologies, tools + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides tools for testing. + +Package: libllvm-21-ocaml-dev +Build-Profiles: +Section: ocaml +Architecture: amd64 arm64 ppc64el riscv64 s390x +Suggests: llvm-21-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-21-dev (= ${binary:Version}) +Replaces: libllvm-x.y-ocaml-dev +Conflicts: libllvm-x.y-ocaml-dev +Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev +Description: Modular compiler and toolchain technologies, OCaml bindings + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the OCaml bindings to develop applications using llvm. + +Package: llvm-21-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, libjs-jquery, libjs-underscore +Description: Modular compiler and toolchain technologies, documentation + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains all documentation (extensive). + +Package: llvm-21-examples +Section: doc +Architecture: all +Depends: ${misc:Depends}, llvm-21-dev (>= ${source:Version}), llvm-21-dev (<< ${source:Version}+c~) +Description: Modular compiler and toolchain technologies, examples + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains examples for using LLVM, both in developing + extensions to LLVM and in using it to compile code. + + +# ------------- lld ------------- + +Package: lld-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf i386 loong64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm21 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + +Package: liblld-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf i386 loong64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm21 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: LLVM-based linker, library + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package contains the LLD runtime library. + +Package: liblld-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armel armhf i386 loong64 m68k mips64el mipsel ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-21 (= ${binary:Version}), + liblld-21 (= ${binary:Version}), libzstd-dev, zlib1g-dev +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker, header files + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package provides the header files to build extension over lld. + + +# ------------- lldb ------------- + +Package: lldb-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm21 (= ${binary:Version}), + python3-lldb-21 +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + +Package: liblldb-21 +Build-Profiles: +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm21 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: Next generation, high-performance debugger, library + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package contains the LLDB runtime library. + +Package: python3-lldb-21 +Build-Profiles: +Section: python +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-21 (= ${binary:Version}) +Conflicts: python3-lldb-x.y +Replaces: python3-lldb-x.y +Provides: python3-lldb-x.y +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, python3 lib + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This binding package provides access to lldb. + +Package: liblldb-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-21 (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Breaks: liblldb-21 (<< 1:21.1.7-1~) +Replaces: liblldb-21 (<< 1:21.1.7-1~) +Description: Next generation, high-performance debugger, header files + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package provides the header files to build extension over lldb. + + +# ------------- openmp ------------- +# 44 because it was the first version in which openmp & libc++ have been +# managed in llvm-defaults + +Package: libomp-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64 ppc64el riscv64 hurd-amd64 +Depends: libomp5 (>= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: libomp-21-doc +Breaks: libomp-dev (<< 3.7-1), libomp5 (<< 1:21.1.4-6) +Provides: libomp-x.y-dev +Conflicts: libomp-x.y-dev +Replaces: libomp-x.y-dev, libomp5 (<< 1:21.1.4-6) +Description: LLVM OpenMP runtime - dev package + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp5 +Build-Profiles: +Architecture: amd64 arm64 armhf i386 loong64 mips64el ppc64 ppc64el riscv64 hurd-amd64 +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: libomp-x.y +Conflicts: libomp-x.y +Breaks: libomp5-21 +Replaces: libomp5-21, libomp-x.y +Description: LLVM OpenMP runtime + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp-21-doc +Build-Profiles: +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery +Replaces: libiomp-x.y-doc +Breaks: libiomp-x.y-doc +Description: LLVM OpenMP runtime - Documentation + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + . + This package contains the documentation of this package. + +# ------------- liboffload ------------- + + +Package: liboffload-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 loong64 ppc64el riscv64 +Depends: liboffload-21 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: liboffload-x.y-dev +Breaks: libomp5 (<< 1:21.1.4-5) +Conflicts: liboffload-x.y-dev +Replaces: liboffload-x.y-dev, libomp5 (<< 1:21.1.4-5) +Description: Offload Library - Development Package + The offload library facilitates efficient task distribution by offloading + specific computational tasks from the CPU to alternative hardware accelerators + such as GPUs or FPGAs. + . + This development package includes headers and other resources needed for + building applications that utilize the offload runtime. + +Package: liboffload-21 +Build-Profiles: +Architecture: amd64 arm64 loong64 ppc64el riscv64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: liboffload-x.y +Conflicts: liboffload-x.y +Replaces: liboffload-x.y +Description: Offload Library + The offload library facilitates efficient task distribution by offloading + specific computational tasks from the CPU to alternative hardware accelerators + such as GPUs or FPGAs. + +# ------------- libcxx ------------- + +Package: libc++1 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: clang +Provides: libc++-x.y +Conflicts: libc++-x.y +Replaces: libc++1-21, libc++-x.y +Breaks: libc++1-21, libc++1-19, libc++abi1-19, libc++1-14, libc++abi1-14 +Description: LLVM C++ Standard library + libc++ is another implementation of the C++ standard library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +Package: libc++-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: libc++1 (>= ${binary:Version}), ${misc:Depends}, + libc++abi-21-dev (= ${binary:Version}) +Provides: libc++-x.y-dev +Conflicts: libc++-x.y-dev +Breaks: libc++1 (<< 1:21.1.4-6) +Replaces: libc++-x.y-dev, libc++1 (<< 1:21.1.4-6) +Description: LLVM C++ Standard library (development files) + libc++ is another implementation of the C++ standard library + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +Package: libc++-21-dev-wasm32 +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: wasi-libc, libc++abi-21-dev-wasm32, ${misc:Depends} +Provides: libc++-x.y-dev-wasm32 +Conflicts: libc++-x.y-dev-wasm32 +Replaces: libc++-x.y-dev-wasm32 +Description: LLVM C++ Standard library (WASI) + libc++ is another implementation of the C++ standard library + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + . + This package provides a version for the 32-bit WebAssembly System Interface. + +# ------------- libcxxabi ------------- + +Package: libc++abi1 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: libc++abi-x.y +Conflicts: libc++abi-x.y +Replaces: libc++abi1-21, libc++abi-x.y +Breaks: libc++abi1-21, libc++abi1-19, libc++abi1-14 +Description: LLVM low level support for a standard C++ library + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + +Package: libc++abi-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: libc++abi1 (>= ${binary:Version}), ${misc:Depends} +Breaks: libc++abi-dev (<= 44), libc++abi1 (<< 1:21.1.4-6) +Provides: libc++abi-x.y-dev +Conflicts: libc++abi-x.y-dev +Replaces: libc++abi-x.y-dev, libc++abi1 (<< 1:21.1.4-6) +Description: LLVM low level support for a standard C++ library (development files) + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + +Package: libc++abi-21-dev-wasm32 +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: wasi-libc, ${misc:Depends} +Provides: libc++abi-x.y-dev-wasm32 +Conflicts: libc++abi-x.y-dev-wasm32 +Replaces: libc++abi-x.y-dev-wasm32 +Description: LLVM low level support for a standard C++ library (WASI) + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + . + This package provides a version for the 32-bit WebAssembly System Interface. + +# ------------- libclc ------------- + +Package: libclc-21 +Build-Profiles: +Section: libs +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, + libclc-21-dev (= ${binary:Version}), + libclang-common-21-dev, +Breaks: libclc-amdgcn, libclc-ptx, libclc-r600 +Provides: libclc-x.y +Conflicts: libclc-x.y +Replaces: libclc-x.y, libclc-amdgcn, libclc-ptx, libclc-r600, +Description: OpenCL C language implementation - platform support + libclc is an open implementation of the OpenCL C programming language, + as specified by the OpenCL 1.1 Specification. + . + This package contains support for the amdgcn (AMD GPU), PTX and r600 + platforms. + +Package: libclc-21-dev +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, +Breaks: libclc-dev +Provides: libclc-x.y-dev +Conflicts: libclc-x.y-dev +Replaces: libclc-dev, libclc-x.y-dev +Description: OpenCL C language implementation - development files + libclc is an open implementation of the OpenCL C programming language, + as specified by the OpenCL 1.1 Specification. + . + This package contains development header files. + +# ------------- libunwind ------------- + +Package: llvm-libunwind1 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armhf i386 loong64 ppc64 ppc64el riscv64 +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libunwind-x.y +Breaks: libunwind-21 +Conflicts: libunwind-x.y +Replaces: libunwind-x.y, libunwind-21 +Description: LLVM unwinder, not compatible with glibc + llvm-libunwind is the LLVM unwinder, with platform support for DWARF + unwind info, SjLj, and ARM EHABI. Using it for packaging work inside + Debian is not recommended, incompatible with glibc. + . + The low level libunwind API was designed to work either in-process (aka local) + or to operate on another process (aka remote), but only the local path has + been implemented. Remote unwinding remains as future work. + +Package: libunwind-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armhf i386 loong64 ppc64 ppc64el riscv64 +Depends: + ${misc:Depends}, + llvm-libunwind1 (>= ${binary:Version}) +Provides: libunwind-x.y-dev +Conflicts: libunwind-dev, libunwind-x.y-dev +Breaks: llvm-libunwind1 (<< 1:21.1.4-6) +Replaces: libunwind-dev, libunwind-x.y-dev, llvm-libunwind1 (<< 1:21.1.4-6) +Description: LLVM unwinder, not compatible with glibc + llvm-libunwind is the LLVM unwinder, with platform support for DWARF + unwind info, SjLj, and ARM EHABI. Using it for packaging work inside + Debian is not recommended, incompatible with glibc. + . + The low level libunwind API was designed to work either in-process (aka local) + or to operate on another process (aka remote), but only the local path has + been implemented. Remote unwinding remains as future work. + +# ------------- mlir ------------- + +Package: mlir-21-tools +Build-Profiles: +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Multi-Level Intermediate Representation tools + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + . + This package provides tools. + +Package: libmlir-21 +Build-Profiles: +Section: libs +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libmlir-x.y +Conflicts: libmlir-x.y +Replaces: libmlir-x.y +Description: Multi-Level Intermediate Representation library + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + + +Package: libmlir-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 +Depends: + ${misc:Depends}, + libmlir-21 (= ${binary:Version}) +Breaks: libmlir-dev +Provides: libmlir-x.y-dev +Conflicts: libmlir-x.y-dev +Replaces: libmlir-dev, libmlir-x.y-dev +Description: Multi-Level Intermediate Representation library + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + + +# ------------- bolt ------------- + +Package: bolt-21 +Build-Profiles: +Architecture: amd64 arm64 +Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-21-dev (= ${binary:Version}), +Pre-Depends: ${misc:Pre-Depends} +Description: Post-link optimizer + It achieves the improvements by optimizing application's code layout based on + execution profile gathered by sampling profiler. + +Package: libbolt-21-dev +Build-Profiles: +Section: libdevel +Architecture: amd64 arm64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Post-link optimizer + It achieves the improvements by optimizing application's code layout based on + execution profile gathered by sampling profiler. + +# ------------- flang ------------- + +Package: flang-21 +Build-Profiles: +# no 32bit support +# https://github.com/llvm/llvm-project/issues/59845 +Architecture: amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-21-dev (= ${binary:Version}), +Provides: fortran-compiler, gfortran-mod-15 +Description: Fortran compiler + Ground-up implementation of a Fortran front end written in + modern C++. + . + While it is capable of generating executables for a number + of examples, some functionalities are still missing. + +Package: libflang-21-dev +Build-Profiles: +Architecture: amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, +Description: Flang library - Development package + Ground-up implementation of a Fortran front end written in + modern C++. + . + While it is capable of generating executables for a number + of examples, some functionalities are still missing. + . + This package contains the flang libraries and headers. + +# ------------- LLVM libc ------------- + +Package: libllvmlibc-21-dev +Build-Profiles: +Architecture: amd64 arm64 armhf +Section: libdevel +Depends: ${misc:Depends}, +Description: LLVM C Library - dev package + Implementation of the C standard library targeting C17 and above. + . + This is an experimental project. Don't use in production. diff --git a/control.in b/control.in new file mode 100644 index 0000000000..9d1268f3db --- /dev/null +++ b/control.in @@ -0,0 +1,1050 @@ +Source: llvm-toolchain-@BRANCH_NAME@ +Section: devel +Priority: optional +Rules-Requires-Root: no +Maintainer: LLVM Packaging Team +Uploaders: Sylvestre Ledru , + Gianfranco Costamagna , + Matthias Klose , +Build-Depends: debhelper (>= 11.0), cmake, ninja-build, + chrpath, texinfo, sharutils, @COMMON_BUILD_DEPS@ @NEXT_LIBLLVM_PKG@ + libelf-dev, + libffi-dev, + lsb-release, patchutils, diffstat, xz-utils, python3-dev, + libedit-dev, libncurses-dev, swig, python3-sphinx (>= 1.3.6), + binutils-dev, lld [@LLD_BUILD_ARCHS@], + libxml2-dev, + libipt-dev [amd64 i386], + lcov, procps, help2man, + zlib1g-dev, libzstd-dev, + g++-multilib [@MULTILIB_ARCHS@]@BEGIN_OPTIONAL_HELLO@ | hello [@MULTILIB_ARCHS@]@END_OPTIONAL_HELLO@, + libjs-mathjax, python3-myst-parser | python3-recommonmark, python3-pexpect, + doxygen,@USAGE_BUILD_DEP@ + dh-exec, dh-python, @OCAML_BUILD_DEPS@ + libpfm4-dev [linux-any], python3-setuptools, @Z3_DEV_DEP@ +# "| hello" is for older buster/bionic distros without spirv support +# We need to keep the constraints coherent between the two alternatives, otherwise +# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled + llvm-spirv-21 [@LLVM_SPIRV_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, + spirv-tools [@LLVM_SPIRV_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, + wasi-libc@BEGIN_OPTIONAL_HELLO@ | hello@END_OPTIONAL_HELLO@, + mingw-w64-common, + libcurl4-openssl-dev | libcurl-dev , + libgrpc++-dev [@CLANG_GRPC_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, + protobuf-compiler-grpc [@CLANG_GRPC_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, + libprotobuf-dev [@CLANG_GRPC_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, + protobuf-compiler [@CLANG_GRPC_ARCHS@] @BEGIN_OPTIONAL_HELLO@ | hello [@LLVM_SPIRV_ARCHS@] @END_OPTIONAL_HELLO@, +Build-Conflicts: oprofile, llvm-@LLVM_VERSION@-runtime, clang-@LLVM_VERSION@ +Standards-Version: 4.7.2 +Homepage: https://www.llvm.org/ +Vcs-Git: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain.git -b @BRANCH_NAME@ +Vcs-Browser: https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/tree/@BRANCH_NAME@ + +# ------------- clang ------------- + +Package: clang-@LLVM_VERSION@ +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, + libllvm@LLVM_VERSION@ (= ${binary:Version}), + libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}), + llvm-@LLVM_VERSION@-linker-tools (= ${binary:Version}), + libclang1-@LLVM_VERSION@ (= ${binary:Version}), libc6-dev, binutils +Provides: c-compiler, objc-compiler, c++-compiler, objc++-compiler +Recommends: llvm-@LLVM_VERSION@-dev, python3, clang-tools-@LLVM_VERSION@ +# libomp-@LLVM_VERSION@-dev +Suggests: clang-@LLVM_VERSION@-doc, wasi-libc +Breaks: clang-tools-21 (<< 1:21.1.4-4) +Replaces: clang-tools-21 (<< 1:21.1.4-4) +Description: C, C++ and Objective-C compiler + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + +Package: clang-tools-@LLVM_VERSION@ +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-@LLVM_VERSION@ (= ${binary:Version}), + python3:any, ${python3:Depends} +Breaks: clang-@LLVM_VERSION@ (<< 1:21.1.4-6) +Replaces: clang-@LLVM_VERSION@ (<< 1:21.1.4-6) +Description: clang-based tools for C/C++ developments + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains some clang-based tools like scan-build, etc. + +Package: clang-format-@LLVM_VERSION@ +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm@LLVM_VERSION@ (= ${binary:Version}) +Description: Tool to format C/C++/Obj-C code + Clang-format is both a library and a stand-alone tool with the goal of + automatically reformatting C++ sources files according to configurable + style guides. To do so, clang-format uses Clang's Lexer to transform an + input file into a token stream and then changes all the whitespace around + those tokens. The goal is for clang-format to both serve both as a user + tool (ideally with powerful IDE integrations) and part of other + refactoring tools, e.g. to do a reformatting of all the lines changed + during a renaming. + . + This package also provides vim and emacs plugins. + +Package: clang-tidy-@LLVM_VERSION@ +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, python3, + libllvm@LLVM_VERSION@ (= ${binary:Version}), + libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}), + clang-tools-@LLVM_VERSION@, python3-yaml +Description: clang-based C++ linter tool + Provide an extensible framework for diagnosing and fixing typical programming + errors, like style violations, interface misuse, or bugs that can be deduced + via static analysis. clang-tidy is modular and provides a convenient interface + for writing new checks. + +Package: clangd-@LLVM_VERSION@ +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, + libllvm@LLVM_VERSION@ (= ${binary:Version}), + libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}), +Description: Language server that provides IDE-like features to editors + clangd understands your C++ code and adds smart features to your editor: + - code completion + - compile errors + - go-to-definition + - and more. + . + clangd is a language server that implements the Language Server Protocol; + it can work with many editors through a plugin. + +Package: clang-@LLVM_VERSION@-doc +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-mathjax +Description: C, C++ and Objective-C compiler - Documentation + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the documentation. + +Package: libclang1-@LLVM_VERSION@ +Build-Profiles: +Section: libs +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: C interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang library. + . + The C Interface to Clang provides a relatively small API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @ANY_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + ${dep:devlibs-objc}, libclang1-@LLVM_VERSION@ (= ${binary:Version}), + libclang-common-@LLVM_VERSION@-dev (= ${binary:Version}) +Description: Clang library - Development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang headers to develop extensions over + libclang1-@LLVM_VERSION@. + +Package: libclang-common-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @ANY_ARCHS@ +Multi-Arch: same +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, +Recommends: libclang-rt-@LLVM_VERSION@-dev +Description: Clang library - Common development package + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang generic headers. + +# ------------- compiler-rt ------------- + +Package: libclang-rt-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @ANY_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - development package + This package provides various libraries: + . + * builtins - Simple libraries that provide implementation of the + low-level target-specific hooks required by code generation + and other runtime components. + * sanitizer runtimes - AddressSanitizer, ThreadSanitizer, + UndefinedBehaviorSanitizer, MemorySanitizer, LeakSanitizer + DataFlowSanitizer, etc + * profile - Library which is used to collect coverage information. + +Package: libclang-rt-@LLVM_VERSION@-dev-wasm32 +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - wasm32 builtins + Provides the compiler-rt builtins for WebAssembly 32 bits + +Package: libclang-rt-@LLVM_VERSION@-dev-wasm64 +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - wasm64 builtins + Provides the compiler-rt builtins for WebAssembly 64 bits + +Package: libclang-rt-@LLVM_VERSION@-dev-win +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Compiler-rt - Windows builtins + Provides the compiler-rt builtins for Windows + +# ------------- polly ------------- + +Package: libpolly-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @ANY_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: High-level loop and data-locality optimizer + Uses an abstract mathematical representation based on integer polyhedra + to analyze and optimize the memory access pattern of a program + +# ------------- clang libraries ------------- + +Package: libclang-cpp@LLVM_VERSION@ +Build-Profiles: +Section: libs +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + +Package: libclang-cpp@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @ANY_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, + libclang-cpp@LLVM_VERSION@ (= ${binary:Version}) +# Move of libclang-cpp.so into libclang-cpp@LLVM_VERSION@.dev +Description: C++ interface to the Clang library + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang C++ library. + . + The C++ Interface to Clang provides an API that exposes + facilities for parsing source code into an abstract syntax tree (AST), + loading already-parsed ASTs, traversing the AST, associating physical source + locations with elements within the AST, and other facilities that support + Clang-based development tools. + . + This package contains symlinks without a version number, which are needed by + linker at build time. + + +Package: libfuzzer-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @LIBFUZZER_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, clang-@LLVM_VERSION@ (= ${binary:Version}) +Description: Library for coverage-guided fuzz testing + LibFuzzer is a library for in-process, coverage-guided, evolutionary fuzzing + of other libraries. + . + LibFuzzer is similar in concept to American Fuzzy Lop (AFL), but it performs + all of its fuzzing inside a single process. This in-process fuzzing can be + more restrictive and fragile, but is potentially much faster as there is no + overhead for process start-up. + . + The fuzzer is linked with the library under test, and feeds fuzzed inputs to + the library via a specific fuzzing entrypoint (aka 'target function'); the + fuzzer then tracks which areas of the code are reached, and generates mutations + on the corpus of input data in order to maximize the code coverage. The code + coverage information for libFuzzer is provided by LLVM's SanitizerCoverage + instrumentation. + + +Package: python3-clang-@LLVM_VERSION@ +Build-Profiles: +Section: python +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, libclang-@LLVM_VERSION@-dev +Replaces: python-clang-x.y, +Conflicts: python-clang-x.y +Provides: python-clang-x.y +Description: Clang Python Bindings + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This binding package provides access to the Clang compiler and libraries. + +Package: clang-@LLVM_VERSION@-examples +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: doc +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Clang examples + Clang project is a C, C++, Objective C and Objective C++ front-end + based on the LLVM compiler. Its goal is to offer a replacement to the + GNU Compiler Collection (GCC). + . + Clang implements all of the ISO C++ 1998, 11, 14 and 17 standards and also + provides most of the support of C++20. + . + This package contains the Clang examples. + +# ------------- LLVM ------------- + +Package: libllvm@LLVM_VERSION@ +Architecture: @ANY_ARCHS@ +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Modular compiler and toolchain technologies, runtime library + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVM runtime library. + +Package: llvm-@LLVM_VERSION@-linker-tools +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Modular compiler and toolchain technologies - Plugins + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + This package contains the LLVMgold and LLVMPolly linker plugins. + +Package: llvm-@LLVM_VERSION@ +Architecture: @ANY_ARCHS@ +Suggests: llvm-@LLVM_VERSION@-doc +Depends: llvm-@LLVM_VERSION@-runtime (= ${binary:Version}), + llvm-@LLVM_VERSION@-linker-tools (= ${binary:Version}), + ${shlibs:Depends}, ${misc:Depends} +Recommends: llvm-@LLVM_VERSION@-dev +Description: Modular compiler and toolchain technologies + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + The strengths of the LLVM infrastructure are its extremely + simple design (which makes it easy to understand and use), + source-language independence, powerful mid-level optimizer, automated + compiler debugging support, extensibility, and its stability and + reliability. LLVM is currently being used to host a wide variety of + academic research projects and commercial projects. LLVM includes C + and C++ front-ends, a front-end for a Forth-like language (Stacker), + a young scheme front-end, and Java support is in development. LLVM can + generate code for X96, SparcV10, PowerPC or many other architectures. + +Package: llvm-@LLVM_VERSION@-runtime +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: binfmt-support | systemd +Description: Modular compiler and toolchain technologies, IR interpreter + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the minimal required to execute programs in LLVM + format. + +Package: llvm-@LLVM_VERSION@-dev +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, libffi-dev, ${misc:Depends}, + llvm-@LLVM_VERSION@ (= ${binary:Version}), libllvm@LLVM_VERSION@ (= ${binary:Version}), libncurses-dev, + llvm-@LLVM_VERSION@-tools (= ${binary:Version}), libclang-cpp@LLVM_VERSION@ (= ${binary:Version}), + libxml2-dev, @Z3_DEV_DEP@ +Description: Modular compiler and toolchain technologies, libraries and headers + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the libraries and headers to develop applications + using llvm. + +Package: llvm-@LLVM_VERSION@-tools +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, + python3:any, ${python3:Depends}, python3-pygments, python3-yaml, +# Because of yaml-bench +Description: Modular compiler and toolchain technologies, tools + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides tools for testing. + +Package: libllvm-@LLVM_VERSION@-ocaml-dev +Build-Profiles: +Section: ocaml +Architecture: @OCAML_ARCHS@ +Suggests: llvm-@LLVM_VERSION@-doc +Depends: ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}, llvm-@LLVM_VERSION@-dev (= ${binary:Version}) +Replaces: libllvm-x.y-ocaml-dev +Conflicts: libllvm-x.y-ocaml-dev +Provides: ${ocaml:Provides}, libllvm-x.y-ocaml-dev +Description: Modular compiler and toolchain technologies, OCaml bindings + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package provides the OCaml bindings to develop applications using llvm. + +Package: llvm-@LLVM_VERSION@-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, libjs-jquery, libjs-underscore +Description: Modular compiler and toolchain technologies, documentation + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains all documentation (extensive). + +Package: llvm-@LLVM_VERSION@-examples +Section: doc +Architecture: all +Depends: ${misc:Depends}, llvm-@LLVM_VERSION@-dev (>= ${source:Version}), llvm-@LLVM_VERSION@-dev (<< ${source:Version}+c~) +Description: Modular compiler and toolchain technologies, examples + LLVM is a collection of libraries and tools that make it easy to build + compilers, optimizers, just-in-time code generators, and many other + compiler-related programs. + . + LLVM uses a single, language-independent virtual instruction set both + as an offline code representation (to communicate code between + compiler phases and to run-time systems) and as the compiler internal + representation (to analyze and transform programs). This persistent + code representation allows a common set of sophisticated compiler + techniques to be applied at compile-time, link-time, install-time, + run-time, or "idle-time" (between program runs). + . + This package contains examples for using LLVM, both in developing + extensions to LLVM and in using it to compile code. + + +# ------------- lld ------------- + +Package: lld-@LLVM_VERSION@ +Build-Profiles: +Architecture: @LLD_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + +Package: liblld-@LLVM_VERSION@ +Build-Profiles: +Architecture: @LLD_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: LLVM-based linker, library + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package contains the LLD runtime library. + +Package: liblld-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @LLD_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, lld-@LLVM_VERSION@ (= ${binary:Version}), + liblld-@LLVM_VERSION@ (= ${binary:Version}), libzstd-dev, zlib1g-dev +Pre-Depends: ${misc:Pre-Depends} +Description: LLVM-based linker, header files + LLD is a new, high-performance linker. It is built as a set of reusable + components which highly leverage existing libraries in the larger LLVM + Project. + . + This package provides the header files to build extension over lld. + + +# ------------- lldb ------------- + +Package: lldb-@LLVM_VERSION@ +Build-Profiles: +Architecture: @LLDB_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}), + python3-lldb-@LLVM_VERSION@ +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + +Package: liblldb-@LLVM_VERSION@ +Build-Profiles: +Architecture: @LLDB_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libllvm@LLVM_VERSION@ (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Section: libs +Description: Next generation, high-performance debugger, library + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package contains the LLDB runtime library. + +Package: python3-lldb-@LLVM_VERSION@ +Build-Profiles: +Section: python +Architecture: @LLDB_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, liblldb-@LLVM_VERSION@ (= ${binary:Version}) +Conflicts: python3-lldb-x.y +Replaces: python3-lldb-x.y +Provides: python3-lldb-x.y +Pre-Depends: ${misc:Pre-Depends} +Description: Next generation, high-performance debugger, python3 lib + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This binding package provides access to lldb. + +Package: liblldb-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @LLDB_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, lldb-@LLVM_VERSION@ (= ${binary:Version}) +Pre-Depends: ${misc:Pre-Depends} +Breaks: liblldb-@LLVM_VERSION@ (<< 1:21.1.7-1~) +Replaces: liblldb-@LLVM_VERSION@ (<< 1:21.1.7-1~) +Description: Next generation, high-performance debugger, header files + LLDB is a next generation, high-performance debugger. It is built as a set of + reusable components which highly leverage existing libraries in the larger LLVM + Project, such as the Clang expression parser and LLVM disassembler. + . + This package provides the header files to build extension over lldb. + + +# ------------- openmp ------------- +# 44 because it was the first version in which openmp & libc++ have been +# managed in llvm-defaults + +Package: libomp-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @OMP_ARCHS@ +Depends: libomp5 (>= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: libomp-@LLVM_VERSION@-doc +Breaks: libomp-dev (<< 3.7-1), libomp5 (<< 1:21.1.4-6) +Provides: libomp-x.y-dev +Conflicts: libomp-x.y-dev +Replaces: libomp-x.y-dev, libomp5 (<< 1:21.1.4-6) +Description: LLVM OpenMP runtime - dev package + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp5 +Build-Profiles: +Architecture: @OMP_ARCHS@ +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: libomp-x.y +Conflicts: libomp-x.y +Breaks: libomp5-21 +Replaces: libomp5-21, libomp-x.y +Description: LLVM OpenMP runtime + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + +Package: libomp-@LLVM_VERSION@-doc +Build-Profiles: +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${shlibs:Depends}, ${misc:Depends}, libjs-jquery +Replaces: libiomp-x.y-doc +Breaks: libiomp-x.y-doc +Description: LLVM OpenMP runtime - Documentation + The runtime is the part of the OpenMP implementation that your code is + linked against, and that manages the multiple threads in an OpenMP program + while it is executing. + . + This package contains the documentation of this package. + +# ------------- liboffload ------------- + + +Package: liboffload-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @OFFLOAD_ARCHS@ +Depends: liboffload-@LLVM_VERSION@ (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: liboffload-x.y-dev +Breaks: libomp5 (<< 1:21.1.4-5) +Conflicts: liboffload-x.y-dev +Replaces: liboffload-x.y-dev, libomp5 (<< 1:21.1.4-5) +Description: Offload Library - Development Package + The offload library facilitates efficient task distribution by offloading + specific computational tasks from the CPU to alternative hardware accelerators + such as GPUs or FPGAs. + . + This development package includes headers and other resources needed for + building applications that utilize the offload runtime. + +Package: liboffload-@LLVM_VERSION@ +Build-Profiles: +Architecture: @OFFLOAD_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: liboffload-x.y +Conflicts: liboffload-x.y +Replaces: liboffload-x.y +Description: Offload Library + The offload library facilitates efficient task distribution by offloading + specific computational tasks from the CPU to alternative hardware accelerators + such as GPUs or FPGAs. + +# ------------- libcxx ------------- + +Package: libc++1 +Build-Profiles: +Section: libs +Architecture: @ANY_ARCHS@ +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: clang +Provides: libc++-x.y +Conflicts: libc++-x.y +Replaces: libc++1-21, libc++-x.y +Breaks: libc++1-21, libc++1-19, libc++abi1-19, libc++1-14, libc++abi1-14 +Description: LLVM C++ Standard library + libc++ is another implementation of the C++ standard library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +Package: libc++-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @ANY_ARCHS@ +Depends: libc++1 (>= ${binary:Version}), ${misc:Depends}, + libc++abi-@LLVM_VERSION@-dev (= ${binary:Version}) +Provides: libc++-x.y-dev +Conflicts: libc++-x.y-dev +Breaks: libc++1 (<< 1:21.1.4-6) +Replaces: libc++-x.y-dev, libc++1 (<< 1:21.1.4-6) +Description: LLVM C++ Standard library (development files) + libc++ is another implementation of the C++ standard library + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + +Package: libc++-@LLVM_VERSION@-dev-wasm32 +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: wasi-libc, libc++abi-@LLVM_VERSION@-dev-wasm32, ${misc:Depends} +Provides: libc++-x.y-dev-wasm32 +Conflicts: libc++-x.y-dev-wasm32 +Replaces: libc++-x.y-dev-wasm32 +Description: LLVM C++ Standard library (WASI) + libc++ is another implementation of the C++ standard library + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Fast execution. + * Minimal memory use. + * Fast compile times. + * ABI compatibility with gcc's libstdc++ for some low-level features such + as exception objects, rtti and memory allocation. + * Extensive unit tests. + . + This package provides a version for the 32-bit WebAssembly System Interface. + +# ------------- libcxxabi ------------- + +Package: libc++abi1 +Build-Profiles: +Section: libs +Architecture: @ANY_ARCHS@ +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: libc++abi-x.y +Conflicts: libc++abi-x.y +Replaces: libc++abi1-21, libc++abi-x.y +Breaks: libc++abi1-21, libc++abi1-19, libc++abi1-14 +Description: LLVM low level support for a standard C++ library + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + +Package: libc++abi-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @ANY_ARCHS@ +Depends: libc++abi1 (>= ${binary:Version}), ${misc:Depends} +Breaks: libc++abi-dev (<= 44), libc++abi1 (<< 1:21.1.4-6) +Provides: libc++abi-x.y-dev +Conflicts: libc++abi-x.y-dev +Replaces: libc++abi-x.y-dev, libc++abi1 (<< 1:21.1.4-6) +Description: LLVM low level support for a standard C++ library (development files) + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + +Package: libc++abi-@LLVM_VERSION@-dev-wasm32 +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: wasi-libc, ${misc:Depends} +Provides: libc++abi-x.y-dev-wasm32 +Conflicts: libc++abi-x.y-dev-wasm32 +Replaces: libc++abi-x.y-dev-wasm32 +Description: LLVM low level support for a standard C++ library (WASI) + libc++abi is another implementation of low level support for a standard C++ + library. + . + Features and Goals + . + * Correctness as defined by the C++ standards. + * Provide a portable sublayer to ease the porting of libc++ + . + This package provides a version for the 32-bit WebAssembly System Interface. + +# ------------- libclc ------------- + +Package: libclc-@LLVM_VERSION@ +Build-Profiles: +Section: libs +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, + libclc-@LLVM_VERSION@-dev (= ${binary:Version}), + libclang-common-@LLVM_VERSION@-dev, +Breaks: libclc-amdgcn, libclc-ptx, libclc-r600 +Provides: libclc-x.y +Conflicts: libclc-x.y +Replaces: libclc-x.y, libclc-amdgcn, libclc-ptx, libclc-r600, +Description: OpenCL C language implementation - platform support + libclc is an open implementation of the OpenCL C programming language, + as specified by the OpenCL 1.1 Specification. + . + This package contains support for the amdgcn (AMD GPU), PTX and r600 + platforms. + +Package: libclc-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, +Breaks: libclc-dev +Provides: libclc-x.y-dev +Conflicts: libclc-x.y-dev +Replaces: libclc-dev, libclc-x.y-dev +Description: OpenCL C language implementation - development files + libclc is an open implementation of the OpenCL C programming language, + as specified by the OpenCL 1.1 Specification. + . + This package contains development header files. + +# ------------- libunwind ------------- + +Package: llvm-libunwind1 +Build-Profiles: +Section: libs +Architecture: @LIBUNWIND_ARCHS@ +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libunwind-x.y +Breaks: libunwind-21 +Conflicts: libunwind-x.y +Replaces: libunwind-x.y, libunwind-21 +Description: LLVM unwinder, not compatible with glibc + llvm-libunwind is the LLVM unwinder, with platform support for DWARF + unwind info, SjLj, and ARM EHABI. Using it for packaging work inside + Debian is not recommended, incompatible with glibc. + . + The low level libunwind API was designed to work either in-process (aka local) + or to operate on another process (aka remote), but only the local path has + been implemented. Remote unwinding remains as future work. + +Package: libunwind-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @LIBUNWIND_ARCHS@ +Depends: + ${misc:Depends}, + llvm-libunwind1 (>= ${binary:Version}) +Provides: libunwind-x.y-dev +Conflicts: libunwind-dev, libunwind-x.y-dev +Breaks: llvm-libunwind1 (<< 1:21.1.4-6) +Replaces: libunwind-dev, libunwind-x.y-dev, llvm-libunwind1 (<< 1:21.1.4-6) +Description: LLVM unwinder, not compatible with glibc + llvm-libunwind is the LLVM unwinder, with platform support for DWARF + unwind info, SjLj, and ARM EHABI. Using it for packaging work inside + Debian is not recommended, incompatible with glibc. + . + The low level libunwind API was designed to work either in-process (aka local) + or to operate on another process (aka remote), but only the local path has + been implemented. Remote unwinding remains as future work. + +# ------------- mlir ------------- + +Package: mlir-@LLVM_VERSION@-tools +Build-Profiles: +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Multi-Level Intermediate Representation tools + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + . + This package provides tools. + +Package: libmlir-@LLVM_VERSION@ +Build-Profiles: +Section: libs +Architecture: @ANY_ARCHS@ +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libmlir-x.y +Conflicts: libmlir-x.y +Replaces: libmlir-x.y +Description: Multi-Level Intermediate Representation library + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + + +Package: libmlir-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @ANY_ARCHS@ +Depends: + ${misc:Depends}, + libmlir-@LLVM_VERSION@ (= ${binary:Version}) +Breaks: libmlir-dev +Provides: libmlir-x.y-dev +Conflicts: libmlir-x.y-dev +Replaces: libmlir-dev, libmlir-x.y-dev +Description: Multi-Level Intermediate Representation library + Novel approach to building reusable and extensible compiler infrastructure. + MLIR aims to address software fragmentation, improve compilation for + heterogeneous hardware, significantly reduce the cost of building domain + specific compilers, and aid in connecting existing compilers together. + + +# ------------- bolt ------------- + +Package: bolt-@LLVM_VERSION@ +Build-Profiles: +Architecture: @BOLT_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, libbolt-@LLVM_VERSION@-dev (= ${binary:Version}), +Pre-Depends: ${misc:Pre-Depends} +Description: Post-link optimizer + It achieves the improvements by optimizing application's code layout based on + execution profile gathered by sampling profiler. + +Package: libbolt-@LLVM_VERSION@-dev +Build-Profiles: +Section: libdevel +Architecture: @BOLT_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Post-link optimizer + It achieves the improvements by optimizing application's code layout based on + execution profile gathered by sampling profiler. + +# ------------- flang ------------- + +Package: flang-@LLVM_VERSION@ +Build-Profiles: +# no 32bit support +# https://github.com/llvm/llvm-project/issues/59845 +Architecture: @FLANG_ARCHS@ +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, libflang-@LLVM_VERSION@-dev (= ${binary:Version}), +Provides: fortran-compiler, gfortran-mod-15 +Description: Fortran compiler + Ground-up implementation of a Fortran front end written in + modern C++. + . + While it is capable of generating executables for a number + of examples, some functionalities are still missing. + +Package: libflang-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @FLANG_ARCHS@ +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, ${dep:devlibs}, +Description: Flang library - Development package + Ground-up implementation of a Fortran front end written in + modern C++. + . + While it is capable of generating executables for a number + of examples, some functionalities are still missing. + . + This package contains the flang libraries and headers. + +# ------------- LLVM libc ------------- + +Package: libllvmlibc-@LLVM_VERSION@-dev +Build-Profiles: +Architecture: @LLVM_LIBC_ARCHS@ +Section: libdevel +Depends: ${misc:Depends}, +Description: LLVM C Library - dev package + Implementation of the C standard library targeting C17 and above. + . + This is an experimental project. Don't use in production. diff --git a/copyright b/copyright new file mode 100644 index 0000000000..b6913b7575 --- /dev/null +++ b/copyright @@ -0,0 +1,126 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: LLVM/Clang +Source: https://github.com/llvm/llvm-project +Files-Excluded: .github .gitattributes .git-blame-ignore-revs .gitignore + +Files: * +Copyright: 2003-2017 University of Illinois at Urbana-Champaign. +License: APACHE-2-LLVM-EXCEPTIONS + On Debian systems the full text of the Apache Software License 2.0 can be + found in the `/usr/share/common-licenses/Apache-2.0' file. + . + ---- LLVM Exceptions to the Apache 2.0 License ---- + . + As an exception, if, as a result of your compiling your source code, portions + of this Software are embedded into an Object form of such source code, you + may redistribute such embedded portions in such Object form without complying + with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + . + In addition, if you combine or link compiled forms of this Software with + software that is licensed under the GPLv2 ("Combined Software") and if a + court of competent jurisdiction determines that the patent provision (Section + 3), the indemnity provision (Section 9) or other Section of the License + conflicts with the conditions of the GPLv2, you may retroactively and + prospectively choose to deem waived or otherwise exclude such Section(s) of + the License, but only in their entirety and only with respect to the Combined + Software. + +Files: debian/* +Copyright: 2003-2020 Sylvestre Ledru and others +License: APACHE-2-LLVM-EXCEPTIONS + On Debian systems the full text of the Apache Software License 2.0 can be + found in the `/usr/share/common-licenses/Apache-2.0' file. + . + ---- LLVM Exceptions to the Apache 2.0 License ---- + . + As an exception, if, as a result of your compiling your source code, portions + of this Software are embedded into an Object form of such source code, you + may redistribute such embedded portions in such Object form without complying + with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + . + In addition, if you combine or link compiled forms of this Software with + software that is licensed under the GPLv2 ("Combined Software") and if a + court of competent jurisdiction determines that the patent provision (Section + 3), the indemnity provision (Section 9) or other Section of the License + conflicts with the conditions of the GPLv2, you may retroactively and + prospectively choose to deem waived or otherwise exclude such Section(s) of + the License, but only in their entirety and only with respect to the Combined + Software. + +Files: compiler-rt/lib/BlocksRuntime/* +Copyright: 2008-2010 Apple, Inc. +License: MIT + +Files: llvm/lib/Support/reg* +Copyright: 1992, 1993, 1994 Henry Spencer + 1992, 1993, 1994 The Regents of the University of California +License: BSD-3-clause + +Files: llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h +Copyright: 2001 Alexander Peslyak +License: solar-public-domain + This software was written by Alexander Peslyak in 2001. No copyright is + claimed, and the software is hereby placed in the public domain. + In case this attempt to disclaim copyright and place the software in the + public domain is deemed null and void, then the software is + Copyright (c) 2001 Alexander Peslyak and it is hereby released to the + general public under the following terms: + . + Redistribution and use in source and binary forms, with or without + modification, are permitted. + . + * There's ABSOLUTELY NO WARRANTY, express or implied. + +Files: llvm/test/YAMLParser/* +Copyright: 2006 Kirill Simonov +License: MIT + +Files: third-party/unittest/googletest/* +Copyright: 2006-2008, Google Inc. +License: BSD-3-Clause + +Files: third-party/unittest/googlemock/* +Copyright: 2008, Google Inc. +License: BSD-3-Clause + +Files: clang/lib/Headers/cuda_wrappers/* + clang/lib/Headers/avx512vlvp2intersectintrin.h + clang/lib/Headers/avx512vp2intersectintrin.h +Copyright: 2016-2020, Google Inc. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/debian-llvm-testsuite.bats b/debian-llvm-testsuite.bats new file mode 100755 index 0000000000..0b77876d90 --- /dev/null +++ b/debian-llvm-testsuite.bats @@ -0,0 +1,2193 @@ +#!/usr/bin/env bats + +setup() { + + load '/usr/lib/bats/bats-support/load' # this is required by bats-assert! + load '/usr/lib/bats/bats-assert/load' + bats_require_minimum_version 1.5.0 + + # Common setup + VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") + DETAILED_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1\2\3,p") + DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) + + # from llvm-X.Y-dev + DEBIAN_CONFIG=/usr/lib/llvm-$VERSION/share/debian_config.mk + + # Define the package list + LIST=" + bolt-${VERSION}_${DETAILED_VERSION}_amd64.deb + clang-${VERSION}_${DETAILED_VERSION}_amd64.deb + clang-tidy-${VERSION}_${DETAILED_VERSION}_amd64.deb + clang-tools-${VERSION}_${DETAILED_VERSION}_amd64.deb + clangd-${VERSION}_${DETAILED_VERSION}_amd64.deb + flang-${VERSION}_${DETAILED_VERSION}_amd64.deb + libbolt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libc++-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb + libc++-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libc++1_${DETAILED_VERSION}_amd64.deb + libc++abi-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb + libc++abi-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libc++abi1_${DETAILED_VERSION}_amd64.deb + libclang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libclang-common-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libclang-cpp${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libclang-cpp${VERSION}_${DETAILED_VERSION}_amd64.deb + libclang-rt-${VERSION}-dev-wasm32_${DETAILED_VERSION}_all.deb + libclang-rt-${VERSION}-dev-wasm64_${DETAILED_VERSION}_all.deb + libclang-rt-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libclang1-${VERSION}_${DETAILED_VERSION}_amd64.deb + libclc-${VERSION}-dev_${DETAILED_VERSION}_all.deb + libclc-${VERSION}_${DETAILED_VERSION}_all.deb + libflang-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libfuzzer-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + liblldb-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + liblldb-${VERSION}_${DETAILED_VERSION}_amd64.deb + libllvm${VERSION}_${DETAILED_VERSION}_amd64.deb + libllvmlibc-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libmlir-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libmlir-${VERSION}_${DETAILED_VERSION}_amd64.deb + libomp-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libomp5_${DETAILED_VERSION}_amd64.deb + libpolly-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + libunwind-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + lld-${VERSION}_${DETAILED_VERSION}_amd64.deb + lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb + llvm-${VERSION}-dev_${DETAILED_VERSION}_amd64.deb + llvm-${VERSION}-linker-tools_${DETAILED_VERSION}_amd64.deb + llvm-${VERSION}-runtime_${DETAILED_VERSION}_amd64.deb + llvm-${VERSION}-tools_${DETAILED_VERSION}_amd64.deb + llvm-${VERSION}_${DETAILED_VERSION}_amd64.deb + llvm-libunwind1_${DETAILED_VERSION}_amd64.deb + python3-clang-${VERSION}_${DETAILED_VERSION}_amd64.deb + python3-lldb-${VERSION}_${DETAILED_VERSION}_amd64.deb + " +} + +@test "Print LLVM installation information" { + echo + echo "===============================================" + echo "LLVM Version ${VERSION} Installation Instructions" + echo "===============================================" + echo + echo "Detailed version: ${DETAILED_VERSION}" + echo + + echo "Step 1: Remove potentially conflicting packages" + echo "---------------------------------------------" + echo "Run the following command to remove existing packages:" + echo "sudo apt --purge remove 'libomp5*' 'libc++*dev' 'libc++*' 'python3-lldb-*' 'llvm-libunwind-*' 'libclc-*' 'libclc-*dev' 'libmlir-*'" + echo + + echo "Step 2: Install new packages" + echo "-------------------------" + echo "You have two options for installation:" + echo + + echo "Option 1: Using dpkg (if you have the .deb files)" + echo "----------------------------------------" + echo "sudo dpkg -i $LIST" + echo + + echo "Option 2: Using apt (recommended)" + echo "----------------------------" + L="" + for f in $LIST; do + L="$L $(echo $f|cut -d_ -f1)" + done + echo "sudo apt-get install $L" + echo + run clang-$VERSION --version + assert_output -p 'clang version' +} + +@test "Check debian/ directory existence" { + [ -d "debian/" ] +} + +@test "Check for llvm-config binary" { + [ -f "/usr/bin/llvm-config-$VERSION" ] +} + +@test "Ensure libLLVM.so.VERSION.1 exists in libllvm$VERSION" { + NBLINES=$(dpkg -L libllvm$VERSION | grep -c "libLLVM.so.$VERSION.1") + [ "$NBLINES" -gt 0 ] +} + +# https://bugs.debian.org/1115227 +@test "Library package required by Mesa must be Multi-Arch: same" { + run dpkg-query -W -f '${Multi-Arch}' "libllvm$VERSION:$DEB_HOST_ARCH" + assert_output 'same' + run -1 bats_pipe dpkg -L "libllvm$VERSION:$DEB_HOST_ARCH" \| grep "usr/lib/llvm-$VERSION" + assert_output '' +} + +# https://bugs.debian.org/1100981, https://bugs.debian.org/1111182 +@test "Packages with files in usr/lib/llvm-$VERSION must not be M-A: same" { + for package in $(sed -ne 's/^Package: //p' debian/control); do + # skip Architecture: all (or more generally, not $DEB_HOST_ARCH) + if [ -z "$(dpkg-query -W -f '${Architecture}\n' "$package" | grep -F "$DEB_HOST_ARCH")" ]; then + #echo "# $package not installed for $DEB_HOST_ARCH" >&3 + continue + fi + + # skip packages that are Architecture: any but not Multi-Arch: same + if [ "$(dpkg-query -W -f '${Multi-Arch}' "$package:$DEB_HOST_ARCH")" != same ]; then + #echo "# $package not Multi-Arch: same" >&3 + continue + fi + + case "$package" in + ("libclang-common-${VERSION}-dev") + #echo "# $package only contains shareable headers" >&3 + continue + ;; + esac + + #echo "# $package..." >&3 + run -1 bats_pipe dpkg -L "$package:$DEB_HOST_ARCH" \| grep "usr/lib/llvm-$VERSION" + assert_output '' + done +} + +@test "llvm-config does not export -W warnings" { + run llvm-config-$VERSION --cxxflags + refute_output -p " -W" +} + +@test "nm recognizes libLLVMBitWriter.a format" { + # Test https://bugs.llvm.org/show_bug.cgi?id=40059 + run nm /usr/lib/llvm-$VERSION/lib/libLLVMBitWriter.a + refute_output -p 'File format not recognized' +} + +@test "Verify llvm manpages" { + [ -f "/usr/share/man/man1/llc-$VERSION.1.gz" ] +} + + +# ===================== clang + +@test "Test clang dumpversion" { + run clang-$VERSION -dumpversion + assert_success + refute_output "4.2.1" +} + +@test "Test compilation of standard library headers with Clang" { + # Test 1: Compile with + cat > "${BATS_TMPDIR}/string_test.c" < +int main() { + (void) strcat; + return 0; +} +EOF + run clang-$VERSION -c "${BATS_TMPDIR}/string_test.c" + assert_success "Compilation with failed" + + # Test 2: Compile with + cat > "${BATS_TMPDIR}/errno_test.c" < +int main() {} +EOF + run clang-$VERSION "${BATS_TMPDIR}/errno_test.c" + assert_success "Compilation with failed" + + # Test 3: Compile with + cat > "${BATS_TMPDIR}/chrono_test.cpp" < +int main() {} +EOF + run clang++-$VERSION -std=c++11 "${BATS_TMPDIR}/chrono_test.cpp" + assert_success "Compilation with and C++11 standard failed" +} + + +# ===================== scan-build + +@test "Check scan-build functionality with GCC" { + + echo ' + void test() { + int x; + x = 1; // warn + } + '> ${BATS_TMPDIR}/scan_build_test.c + + # Run scan-build with GCC + run scan-build-$VERSION -o "${BATS_TMPDIR}/scan_build_output" gcc -c "${BATS_TMPDIR}/scan_build_test.c" + assert_success + assert_output -p "1 bug found" + + # Clean up + rm -rf "${BATS_TMPDIR}/scan_build_output" +} + +@test "Check scan-build functionality with Clang" { + + echo ' + void test() { + int x; + x = 1; // warn + } + '> ${BATS_TMPDIR}/scan_build_test.c + + run scan-build-$VERSION -o scan-build clang-$VERSION -c ${BATS_TMPDIR}/scan_build_test.c + assert_output -p "1 bug found" +} + +@test "scan-build --exclude functionality" { + + echo ' + void test() { + int x; + x = 1; // warn + } + '> ${BATS_TMPDIR}/scan_build_test.c + + run scan-build-$VERSION --exclude ${BATS_TMPDIR} -v clang-$VERSION -c ${BATS_TMPDIR}/scan_build_test.c + assert_success + assert_output -p 'scan-build: 0 bugs found.' +} + +@test "Check clang-tidy detection" { + echo 'namespace mozilla { namespace dom { void foo(); }}' > foo.cpp + run clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17 + assert_output -p "nested namespaces can" +} + +@test "Check clang-tidy autofix" { + echo 'namespace mozilla { namespace dom { void foo(); } }' > foo.cpp + clang-tidy-$VERSION -checks='modernize-concat-nested-namespaces' foo.cpp -extra-arg=-std=c++17 -fix + run grep -q "namespace mozilla::dom" foo.cpp + assert_success +} + +@test "Check clangd output" { + echo '{ + "jsonrpc": "2.0", + "id": 0, + "method": "initialize", + "params": { + "capabilities": { + "textDocument": { + "completion": { + "completionItem": { + "snippetSupport": true + } + } + } + }, + "trace": "off" + } +} +--- +{ + "jsonrpc": "2.0", + "method": "textDocument/didOpen", + "params": { + "textDocument": { + "uri": "test:///main.cpp", + "languageId": "cpp", + "version": 1, + "text": "int func_with_args(int a, int b);\nint main() {\nfunc_with\n}" + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 1, + "method": "textDocument/completion", + "params": { + "textDocument": { + "uri": "test:///main.cpp" + }, + "position": { + "line": 2, + "character": 7 + } + } +} +--- +{ + "jsonrpc": "2.0", + "id": 4, + "method": "shutdown" +} +--- +{ + "jsonrpc": "2.0", + "method": "exit" +} + ' > clangd.json + + run clangd-$VERSION -lit-test -pch-storage=memory < clangd.json + assert_success + assert_output -p 'func_with_args(${1:int a}, ${2:int b})' +} + +@test "Test LLI and LLVM runtime functionality" { + local temp_dir="${BATS_TMPDIR}/lli_test" + mkdir -p "${temp_dir}" + + cat > "${temp_dir}/foo.c" < +int main() { + printf("lli foo"); + return 0; +} +EOF + + # Generate LLVM IR + run clang-$VERSION -S -emit-llvm "${temp_dir}/foo.c" -o "${temp_dir}/foo.ll" + assert_success "Failed to generate LLVM IR" + + # Compile LLVM IR to assembly + run llc-$VERSION "${temp_dir}/foo.ll" -o "${temp_dir}/foo.s" + assert_success "Failed to compile LLVM IR to assembly" + + # Execute the LLVM IR using lli + run lli-$VERSION "${temp_dir}/foo.ll" + assert_output -p "lli foo" "LLI did not produce the expected output" + + # Optimize the LLVM IR + run opt-$VERSION -S -O3 "${temp_dir}/foo.ll" -o "${temp_dir}/opt.ll" + assert_success "Failed to optimize LLVM IR" + + # Execute the optimized LLVM IR + run lli-$VERSION "${temp_dir}/opt.ll" + assert_output -p "lli foo" "LLI did not produce the expected output after optimization" + + # Generate LLVM bitcode + run clang-$VERSION -O3 -emit-llvm "${temp_dir}/foo.c" -c -o "${temp_dir}/foo.bc" + assert_success "Failed to generate LLVM bitcode" + + # Make the bitcode executable + chmod +x "${temp_dir}/foo.bc" + + # Check if binfmt is enabled for LLVM bitcode + if grep -q "enabled" /proc/sys/fs/binfmt_misc/llvm-${VERSION}-runtime.binfmt; then + # Execute the bitcode + run "${temp_dir}/foo.bc" + assert_output -p "lli foo" "Execution of LLVM bitcode failed" + else + skip "binfmt_misc for LLVM bitcode is not enabled" + fi + + rm -rf "${temp_dir}" +} + +@test "Verify lld linker output (Bug 40659)" { + echo "int foo(void) { return 0; }"> "${BATS_TMPDIR}/foo.c" + echo "int foo(void); int main() {foo(); return 0;}"> "${BATS_TMPDIR}/main.c" + + run clang-$VERSION -fuse-ld=lld -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o foo + run ./foo + assert_success + + run clang-$VERSION -fuse-ld=lld-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o foo + assert_success + run ./foo + assert_success +} + + + +@test "Test LLVM coverage tools" { + echo '#include + int main() { printf("Coverage test"); return 0; }' > foo.c + run clang-$VERSION --coverage foo.c -o foo + assert_success + run ./foo + assert_success + run test -f foo-foo.gcno + assert_success +} + + +@test "Test clang c++ standard library functionality" { + echo '#include + #include + #include + using namespace std; + int main() { + vector tab; + tab.push_back("Hello"); + return 0; + }' > "${BATS_TMPDIR}/test.cpp" + + run clang++-$VERSION "${BATS_TMPDIR}/test.cpp" -o "${BATS_TMPDIR}/test" + assert_success + + run "${BATS_TMPDIR}/test" + assert_success +} + +@test "Test OpenMP support" { + if ! grep -q "^OMP_ARCHS *=.* $DEB_HOST_ARCH" $DEBIAN_CONFIG; then + skip "omp is not configured on $DEB_HOST_ARCH" + fi + echo '#include "omp.h" + #include + int main(void) { + #pragma omp parallel + printf("thread %d\n", omp_get_thread_num()); + return 0; + }' > "${BATS_TMPDIR}/omp_test.c" + + run clang-$VERSION "${BATS_TMPDIR}/omp_test.c" -fopenmp -o "${BATS_TMPDIR}/omp_test" + assert_success + + run "${BATS_TMPDIR}/omp_test" + assert_success +} + +@test "Test address sanitizer" { + echo '#include + int main() { + char *x = (char*)malloc(10 * sizeof(char*)); + free(x); + return x[5]; + }' > "${BATS_TMPDIR}/asan_test.c" + + run clang-$VERSION -o "${BATS_TMPDIR}/asan_test" -fsanitize=address -O1 -fno-omit-frame-pointer -g "${BATS_TMPDIR}/asan_test.c" + assert_success + + run "${BATS_TMPDIR}/asan_test" + assert_failure + assert_output -p "heap-use-after-free" +} + +@test "Test Address Sanitizer verbose mode" { + echo 'int main(int argc, char **argv) { + int *array = new int[100]; + delete [] array; + return array[argc]; // BOOM + }' > "${BATS_TMPDIR}/asan_test.cpp" + + # Compile the program with AddressSanitizer enabled + run clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer "${BATS_TMPDIR}/asan_test.cpp" -o "${BATS_TMPDIR}/asan_test" + assert_success "ASan compilation failed" + + # Run the program with ASan verbose mode enabled + ASAN_OPTIONS=verbosity=1 ${BATS_TMPDIR}/asan_test &> foo.log || true + run cat foo.log + assert_output -p "Init done" + +} +@test "Test all sanitizers and multiarch compatibility" { + local temp_dir="${BATS_TMPDIR}/sanitizer_multi" + mkdir -p "${temp_dir}" + + # Generate the C test file + cat > "${temp_dir}/test.c" < +#include +int main () +{ +#if __has_feature(address_sanitizer) + puts("address_sanitizer"); +#endif +#if __has_feature(thread_sanitizer) + puts("thread_sanitizer"); +#endif +#if __has_feature(memory_sanitizer) + puts("memory_sanitizer"); +#endif +#if __has_feature(undefined_sanitizer) + puts("undefined_sanitizer"); +#endif +#if __has_feature(dataflow_sanitizer) + puts("dataflow_sanitizer"); +#endif +#if __has_feature(efficiency_sanitizer) + puts("efficiency_sanitizer"); +#endif + printf("Ok\n"); + return EXIT_SUCCESS; +} +EOF + + # Check for compiler-rt library + run clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name + assert_success "Failed to locate compiler-rt runtime library" + + # Multiarch compatibility testing + # only for AMD64 for now + # many sanitizers only work on AMD64 + # x32 programs need to be enabled in the kernel bootparams for debian + # (https://wiki.debian.org/X32Port) + # + # SYSTEM should iterate multiple targets (eg. x86_64-unknown-none-gnu for embedded) + # MARCH should iterate the library architectures via flags + # LIB should iterate the different libraries + echo "if it fails, please run" + echo "apt-get install libc6-dev:i386 libgcc-5-dev:i386 libc6-dev-x32 libx32gcc-5-dev libx32gcc-9-dev" + local architectures=("-m64") # "-m32" "-mx32") + local sanitizers=("--rtlib=compiler-rt" "-fsanitize=address" "-fsanitize=thread" "-fsanitize=memory" "-fsanitize=undefined" "-fsanitize=dataflow") + + for arch in "${architectures[@]}"; do + for sanitizer in "${sanitizers[@]}"; do + # Skip unsupported combinations + if [[ "$arch" == "-m32" || "$arch" == "-mx32" ]]; then + if [[ "$sanitizer" == "-fsanitize=thread" || "$sanitizer" == "-fsanitize=memory" || "$sanitizer" == "-fsanitize=dataflow" ]]; then + continue + fi + fi + + echo "Testing sanitizer: $sanitizer with architecture: $arch" + rm -f "${temp_dir}/test" + run clang-$VERSION $arch $sanitizer -o "${temp_dir}/test" "${temp_dir}/test.c" + assert_success "Compilation failed for sanitizer: $sanitizer with architecture: $arch" + + if [ -f "${temp_dir}/test" ]; then + run "${temp_dir}/test" + assert_success "Execution failed for sanitizer: $sanitizer with architecture: $arch" + fi + done + done + + rm -rf "${temp_dir}" +} + +@test "Test LLVM symbolizer integration with AddressSanitizer" { + echo 'int main(int argc, char **argv) { + int *array = new int[100]; + delete [] array; + return array[argc]; // BOOM + }' > "${BATS_TMPDIR}/symbolizer_test.cpp" + + # Compile the program with AddressSanitizer enabled + run clang++-$VERSION -O1 -g -fsanitize=address -fno-omit-frame-pointer "${BATS_TMPDIR}/symbolizer_test.cpp" -o "${BATS_TMPDIR}/symbolizer_test" + assert_success "ASan compilation failed" + + # Run the program with external symbolizer path and verbose mode enabled + ASAN_OPTIONS=verbosity=2:external_symbolizer_path=/usr/lib/llvm-$VERSION/bin/llvm-symbolizer \ + run "${BATS_TMPDIR}/symbolizer_test" + assert_failure + + assert_output -p 'new[](unsigned' + + assert_output -p "symbolizer_test.cpp:4" + + # Run again without verbose mode and check symbolization + run "${BATS_TMPDIR}/symbolizer_test" + assert_output -p "new[](unsigned" + assert_output -p "symbolizer_test.cpp:4" +} + + +@test "Test libc++ with AddressSanitizer" { + echo '#include + int main() { + std::logic_error(""); + }' > "${BATS_TMPDIR}/sanitizer_test.cpp" + + # Compile with libc++ and AddressSanitizer + run clang++-$VERSION -stdlib=libc++ -fsanitize=address "${BATS_TMPDIR}/sanitizer_test.cpp" -o "${BATS_TMPDIR}/sanitizer_test" + assert_success "Compilation with libc++ and AddressSanitizer failed" + + # Run the compiled binary + run "${BATS_TMPDIR}/sanitizer_test" + assert_success "Running the binary failed with AddressSanitizer enabled" +} + +@test "Test AddressSanitizer with C standard library (Bug 876973)" { + + cat > "${BATS_TMPDIR}/asan_c_test.c" < +int main(int argc, char **argv) { + printf("Hello world!\\n"); + return 0; +} +EOF + + run clang-$VERSION -fsanitize=address "${BATS_TMPDIR}/asan_c_test.c" -o "${BATS_TMPDIR}/asan_c_test" -lc + assert_success "ASan compilation with -lc failed" + + run "${BATS_TMPDIR}/asan_c_test" &> /dev/null + assert_success "Execution failed or AddressSanitizer detected an issue with -lc" +} + +@test "Test Thread Sanitizer" { + skip_if_arch "i386" + + echo '#include + int Global; + void *Thread1(void *x) { + Global++; + return NULL; + } + void *Thread2(void *x) { + Global--; + return NULL; + } + int main() { + pthread_t t[2]; + pthread_create(&t[0], NULL, Thread1, NULL); + pthread_create(&t[1], NULL, Thread2, NULL); + pthread_join(t[0], NULL); + pthread_join(t[1], NULL); + }' > "${BATS_TMPDIR}/tsan_test.c" + + run clang-$VERSION -o "${BATS_TMPDIR}/tsan_test" -fsanitize=thread -g -O1 "${BATS_TMPDIR}/tsan_test.c" + assert_success + + run "${BATS_TMPDIR}/tsan_test" + assert_failure + assert_output -p "data race" +} + +@test "Test AddressSanitizer and Undefined Behavior Sanitizer with complex C++ code" { + # Create the C++ source file + cat > "${BATS_TMPDIR}/asan_ubsan_test.cpp" < using b = a; +struct f { + template using e = b; +}; +struct g { + typedef f::e c; +}; +class h { + struct : g::c { int i; }; +}; +struct m { + h i; +}; +template void __attribute__((noreturn)) j(); +void k() { + m l; + j(); +} +EOF + + # Compile the C++ code with AddressSanitizer and Undefined Behavior Sanitizer enabled + run clang++-$VERSION -std=c++14 -O3 -fsanitize=address -fsanitize=undefined -c "${BATS_TMPDIR}/asan_ubsan_test.cpp" -fno-crash-diagnostics + assert_success "Compilation with AddressSanitizer and Undefined Behavior Sanitizer failed" +} + + +# ===================== polly + +@test "Test Polly optimizations" { + echo '#define N 512 + float A[N][N], B[N][N], C[N][N]; + void init_arrays() { + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) { + A[i][j] = 1.0; + B[i][j] = 2.0; + } + } + int main() { + init_arrays(); + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + for (int k = 0; k < N; k++) + C[i][j] += A[i][k] * B[k][j]; + return 0; + }' > "${BATS_TMPDIR}/polly_test.c" + + # Compile with Polly optimizations enabled + run clang-$VERSION -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test" + assert_success "Polly optimization failed" + + # Verify the optimization record + run clang-$VERSION -S -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test.s" + assert_success "Failed to generate Polly optimization record" + + # broken https://bugs.llvm.org/show_bug.cgi?id=51642 + # run test -s "${BATS_TMPDIR}/polly_test.opt.yaml" + + run clang-$VERSION -S -O2 -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/polly_test.c" -o "${BATS_TMPDIR}/polly_test.s" + assert_success + run test -s "${BATS_TMPDIR}/polly_test.opt.yaml" + assert_success + run opt-$VERSION -S -polly-canonicalize "${BATS_TMPDIR}/polly_test.s" > "${BATS_TMPDIR}/polly_test.ll" + assert_success + run opt-$VERSION -basic-aa -polly-ast "${BATS_TMPDIR}/polly_test.ll" -polly-process-unprofitable + assert_success + # help with the path + cp "${BATS_TMPDIR}/polly_test.c" . + run /usr/lib/llvm-$VERSION/share/opt-viewer/opt-viewer.py -source-dir ${BATS_TMPDIR}/ ${BATS_TMPDIR}/polly_test.opt.yaml -o ${BATS_TMPDIR}/output > /dev/null + assert_success + + run grep -q "inlined into" ${BATS_TMPDIR}/output/*polly_test.c.html + assert_success +} + +@test "Test libpolly package presence" { + run test -f "/usr/lib/llvm-$VERSION/include/polly/LinkAllPasses.h" + assert_success +} + +# ===================== lldb + +@test "Test LLDB debugger functionality" { + echo '#include + int main() { + printf("LLDB test\n"); + return 0; + }' > "${BATS_TMPDIR}/lldb_test.c" + + run clang-$VERSION -g -o "${BATS_TMPDIR}/lldb_test" "${BATS_TMPDIR}/lldb_test.c" + assert_success + + echo "b main + run + bt + quit" > "${BATS_TMPDIR}/lldb_commands.txt" + + run lldb-$VERSION -s "${BATS_TMPDIR}/lldb_commands.txt" "${BATS_TMPDIR}/lldb_test" + assert_success +} + + +@test "Test LLDB debugging with libc++" { + # Create the C++ source file + cat > "${BATS_TMPDIR}/foo.cpp" < +int main (void) { + std::vector a; + a.push_back(0); +} +EOF + + # Compile the program with debugging symbols + run clang++-$VERSION -g -o "${BATS_TMPDIR}/foo32" "${BATS_TMPDIR}/foo.cpp" + assert_success "Compilation with debugging symbols failed" + + # Create the LLDB command script + echo "b main +r +n +p a +quit +" > "${BATS_TMPDIR}/lldb_commands.txt" + + run lldb-$VERSION -s "${BATS_TMPDIR}/lldb_commands.txt" "${BATS_TMPDIR}/foo32" + assert_output -p "stop reason = step over" +} + +# ===================== cmake + +@test "Test CMake integration (Bug 900440)" { + mkdir -p "${BATS_TMPDIR}/cmake_test" + + cat > "${BATS_TMPDIR}/cmake_test/CMakeLists.txt" < "${cmake_test_dir}/CMakeLists.txt" < /dev/null + run cmake .. + assert_success "CMake integration test for default path failed" + popd > /dev/null + + # Test: CMake find LLVM and Clang in the explicit prefix path + pushd "${cmake_test_dir}/explicit" > /dev/null + run cmake -DCMAKE_PREFIX_PATH="/usr/lib/llvm-${VERSION}" .. + assert_success "CMake integration test for explicit path failed" + popd > /dev/null + + rm -rf "${cmake_test_dir}" +} + +@test "Test CMake lib detection with LLVM and Clang" { + # # https://reviews.llvm.org/D107799#3027607 + if ! dpkg -l | grep -q zlib1g-dev; then + skip "zlib1g-dev is not installed" + fi + + local cmake_test_dir="${BATS_TMPDIR}/cmaketest" + mkdir -p "${cmake_test_dir}" + + cat > "${cmake_test_dir}/CMakeLists.txt" < /dev/null + + # Run CMake and capture the output + run cmake -DCMAKE_C_COMPILER=clang-$VERSION -DCMAKE_CXX_COMPILER=clang++-$VERSION .. + assert_success "CMake failed to run with ZLIB detection" + + # Ensure ZLIB is detected successfully + refute_output -p "Could NOT find ZLIB" "CMake could not find ZLIB even though zlib1g-dev is installed" + + popd > /dev/null + rm -rf "${cmake_test_dir}" +} +@test "Test CMake Clang detection (Bug 994827)" { + local cmake_test_dir="${BATS_TMPDIR}/cmaketest" + mkdir -p "${cmake_test_dir}" + + cat > "${cmake_test_dir}/CMakeLists.txt" < /dev/null + + # Run CMake and check for success + run cmake .. + assert_success "CMake failed to detect Clang with the specified HINTS path" + + popd > /dev/null + rm -rf "${cmake_test_dir}" +} + +# ===================== libc++ + +@test "Test libc++ and libc++abi integration" { + echo '#include + #include + #include + int main() { + std::vector v; + v.push_back("test"); + return 0; + }' > "${BATS_TMPDIR}/libcxx_test.cpp" + + run clang++-$VERSION -stdlib=libc++ -lc++abi "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/libcxx_test" + assert_success + + run "${BATS_TMPDIR}/libcxx_test" + assert_success +} + +skip_if_arch() { + if [ "$DEB_HOST_ARCH" = "$1" ]; then + skip "Test not supported on $1 architecture" + fi +} + +# ===================== wasm + +@test "Test WASM support for C program with wasi-libc" { + if ! dpkg -l | grep -q wasi-libc; then + skip "wasi-libc not installed" + fi + + # Test C program compilation for WASM + echo '#include + int main(int argc, char *argv[]) { + printf("%s\n", "Hello World!"); + }' > "${BATS_TMPDIR}/wasm_printf_test.c" + + # Compile with clang targeting wasm32-wasi + run clang-$VERSION -target wasm32-wasi -o "${BATS_TMPDIR}/wasm_printf" "${BATS_TMPDIR}/wasm_printf_test.c" + assert_success "Failed to compile printf.c for wasm32-wasi" + + # Check the output binary is a WebAssembly file + run file "${BATS_TMPDIR}/wasm_printf" + assert_output -p "WebAssembly" + + # Clean up + rm -f "${BATS_TMPDIR}/wasm_printf_test.c" "${BATS_TMPDIR}/wasm_printf" +} + +@test "Test WASM support for C++ program with wasi-libc" { + if ! dpkg -l | grep -q wasi-libc; then + skip "wasi-libc not installed" + fi + + # Test C++ program compilation for WASM + echo '#include + int main() { + std::cout << "Hello World!" << std::endl; + }' > "${BATS_TMPDIR}/wasm_cout_test.cpp" + + # Compile with clang++ targeting wasm32-wasi + run clang++-$VERSION --target=wasm32-wasi -o "${BATS_TMPDIR}/wasm_cout" "${BATS_TMPDIR}/wasm_cout_test.cpp" + assert_success "Failed to compile cout.cpp for wasm32-wasi" + + # Check the output binary is a WebAssembly file + run file "${BATS_TMPDIR}/wasm_cout" + assert_output -p "WebAssembly" + + # Clean up + rm -f "${BATS_TMPDIR}/wasm_cout_test.cpp" "${BATS_TMPDIR}/wasm_cout" +} + +# ===================== sanitizers + +@test "Test Memory sanitizer" { + skip_if_arch "i386" + + echo '#include + int main() { + int *a = (int*)malloc(sizeof(int)); + int b = *a; // Use uninitialized value + free(a); + return b; + }' > "${BATS_TMPDIR}/msan_test.c" + + run clang-$VERSION -fsanitize=memory -o "${BATS_TMPDIR}/msan_test" "${BATS_TMPDIR}/msan_test.c" + assert_success +} + +@test "Test undefined behavior sanitizer" { + echo '#include + int main(int argc, char **argv) { + int k = 0x7fffffff; + k += argc; // potential overflow + return 0; + }' > "${BATS_TMPDIR}/ubsan_test.c" + + run clang-$VERSION -fsanitize=undefined -o "${BATS_TMPDIR}/ubsan_test" "${BATS_TMPDIR}/ubsan_test.c" + assert_success +} + +@test "Test compiler-rt library presence" { + run clang-$VERSION --target=x86_64-unknown-linux-gnu --rtlib=compiler-rt --print-libgcc-file-name + assert_success + assert_output -p 'libclang_rt' +} + +# ===================== libfuzzer + +@test "Test libFuzzer presence" { + run test -f "/usr/lib/llvm-$VERSION/lib/libFuzzer.a" + assert_success +} +@test "Test libFuzzer compilation and execution across architectures" { + if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then + skip "Test not applicable on architectures other than amd64 or i386" + fi + + # Create a fuzzer test source file + cat > "${BATS_TMPDIR}/test_fuzzer.cc" < +#include + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size > 0 && data[0] == 'H') { + if (size > 1 && data[1] == 'I') { + if (size > 2 && data[2] == '!') { + __builtin_trap(); + } + } + } + return 0; +} +EOF + + # Compile the test with libFuzzer + run clang-$VERSION -fsanitize=fuzzer "${BATS_TMPDIR}/test_fuzzer.cc" -o "${BATS_TMPDIR}/a.out" &> "${BATS_TMPDIR}/foo.log" + + # Check for missing file errors in the log + if grep -q "No such file or directory" "${BATS_TMPDIR}/foo.log"; then + skip "Fuzzer compilation failed due to missing files or incorrect libraries" + fi + + run "${BATS_TMPDIR}/a.out" + assert_output -e "(Test unit written|PreferSmall)" +} + +@test "Test libFuzzer functionality" { + if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then + skip "Test not applicable on architectures other than amd64 or i386" + fi + echo '#include + #include + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size > 0 && data[0] == '\''H'\'') + if (size > 1 && data[1] == '\''I'\'') + if (size > 2 && data[2] == '\''!'\'') + __builtin_trap(); + return 0; + }' > "${BATS_TMPDIR}/fuzzer_test.cc" + + # Compile with libFuzzer explicitly linked + run clang++-$VERSION -fsanitize=address,fuzzer "${BATS_TMPDIR}/fuzzer_test.cc" -o "${BATS_TMPDIR}/fuzzer_test" + assert_success "Fuzzer compilation failed" + + run "${BATS_TMPDIR}/fuzzer_test" + assert_failure + assert_output -p "libFuzzer: deadly signal" + + run clang++-$VERSION -fsanitize=address -fsanitize-coverage=edge,trace-pc "${BATS_TMPDIR}/fuzzer_test.cc" /usr/lib/llvm-$VERSION/lib/libFuzzer.a -o "${BATS_TMPDIR}/fuzzer_test_explicit" + assert_success "Fuzzer compilation with explicit linking failed" + run "${BATS_TMPDIR}/fuzzer_test_explicit" + assert_output -e "(Test unit written|PreferSmall)" +} + +@test "Test coverage Fuzzing with llvm-profdata and llvm-cov" { + # Create the main fuzzing driver + cat > "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" < +#include +#include + +extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size); +__attribute__((weak)) extern int LLVMFuzzerInitialize(int *argc, char ***argv); +int main(int argc, char **argv) { + fprintf(stderr, "StandaloneFuzzTargetMain: running %d inputs\n", argc - 1); + if (LLVMFuzzerInitialize) + LLVMFuzzerInitialize(&argc, &argv); + for (int i = 1; i < argc; i++) { + fprintf(stderr, "Running: %s\n", argv[i]); + FILE *f = fopen(argv[i], "r"); + assert(f); + fseek(f, 0, SEEK_END); + size_t len = ftell(f); + fseek(f, 0, SEEK_SET); + unsigned char *buf = (unsigned char*)malloc(len); + size_t n_read = fread(buf, 1, len, f); + fclose(f); + assert(n_read == len); + LLVMFuzzerTestOneInput(buf, len); + free(buf); + fprintf(stderr, "Done: %s: (%zd bytes)\n", argv[i], n_read); + } +} +EOF + + # Create the fuzzing target + cat > "${BATS_TMPDIR}/fuzz_me.cc" < +#include + +bool FuzzMe(const uint8_t *Data, size_t DataSize) { + return DataSize >= 3 && + Data[0] == 'F' && + Data[1] == 'U' && + Data[2] == 'Z' && + Data[3] == 'Z'; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { + FuzzMe(Data, Size); + return 0; +} +EOF + + # Compile the fuzzing target and driver with profiling and coverage mapping + run clang-$VERSION -fprofile-instr-generate -fcoverage-mapping \ + "${BATS_TMPDIR}/fuzz_me.cc" "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" \ + -o "${BATS_TMPDIR}/a.out" + assert_success "Fuzzer compilation failed" + + # Set up the corpus directory and create initial inputs + mkdir -p "${BATS_TMPDIR}/CORPUS" + echo -n A > "${BATS_TMPDIR}/CORPUS/A" + + # Run the fuzzer binary with initial inputs + run "${BATS_TMPDIR}/a.out" "${BATS_TMPDIR}/CORPUS/*" + # fails on purpose + assert_failure + assert_output -p "running 1 inputs" + + # Merge profiling data + run llvm-profdata-$VERSION merge -sparse *.profraw -o "${BATS_TMPDIR}/default.profdata" + assert_success "Failed to merge profiling data" + + # Generate coverage report for the function `FuzzMe` + run llvm-cov-$VERSION show "${BATS_TMPDIR}/a.out" \ + -instr-profile="${BATS_TMPDIR}/default.profdata" \ + -name=FuzzMe + assert_success "llvm-cov failed to generate a coverage report" + assert_output -p 'DataSize >= 3' + + # Add another input to the corpus and rerun + echo -n FUZA > "${BATS_TMPDIR}/CORPUS/FUZA" + run "${BATS_TMPDIR}/a.out" "${BATS_TMPDIR}/CORPUS/*" + assert_failure + assert_output -p "running 1 inputs" + + # Merge profiling data again + run llvm-profdata-$VERSION merge -sparse *.profraw -o "${BATS_TMPDIR}/default.profdata" + assert_success "Failed to merge profiling data after adding new inputs" + + # Generate coverage report again + run llvm-cov-$VERSION show "${BATS_TMPDIR}/a.out" \ + -instr-profile="${BATS_TMPDIR}/default.profdata" \ + -name=FuzzMe &> "${BATS_TMPDIR}/coverage.log" + assert_success "llvm-cov failed to generate a coverage report after new inputs" + assert_output -p "Data[3] == 'Z';" + + # Cleanup + rm -rf "${BATS_TMPDIR}/CORPUS" "${BATS_TMPDIR}/fuzz_me.cc" "${BATS_TMPDIR}/StandaloneFuzzTargetMain.c" *.profraw +} + +@test "Test BuildID in binaries for different linkers (Bug 916975)" { + + echo "int foo(void) { return 0; }"> "${BATS_TMPDIR}/foo.c" + echo "int foo(void); int main() {foo(); return 0;}"> "${BATS_TMPDIR}/main.c" + + # Case 1: Compile and link with LLD + run clang-$VERSION -fuse-ld=lld -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_lld" + assert_success "Compilation and linking with LLD failed" + + # Check for BuildID in the LLD-linked binary + run file "${BATS_TMPDIR}/foo_lld" + assert_output -p "BuildID" "BuildID missing from binary generated with LLD" + + # Case 2: Compile and link with the specific LLD version + run clang-$VERSION -fuse-ld=lld-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_lld_version" + assert_success "Compilation and linking with LLD-$VERSION failed" + + # Check for BuildID in the LLD-$VERSION-linked binary + run file "${BATS_TMPDIR}/foo_lld_version" + assert_output -p "BuildID" "BuildID missing from binary generated with LLD-$VERSION" + + # Case 3: Compile and link with default LD, then strip the binary + run clang-$VERSION -O2 "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo_ld" + assert_success "Compilation and linking with default LD failed" + + # Check for BuildID in the LD-linked binary + run file "${BATS_TMPDIR}/foo_ld" + assert_output -p "BuildID" "BuildID missing from binary generated with default LD" + + # Strip the binary and recheck for BuildID + run strip "${BATS_TMPDIR}/foo_ld" + assert_success "Stripping binary failed" + + run file "${BATS_TMPDIR}/foo_ld" + assert_output -p "BuildID" "BuildID missing from stripped binary" + + # Cleanup + rm -f "${BATS_TMPDIR}/foo.c" "${BATS_TMPDIR}/main.c" "${BATS_TMPDIR}/foo_lld" "${BATS_TMPDIR}/foo_lld_version" "${BATS_TMPDIR}/foo_ld" +} + +@test "Test optimization record generation" { + echo '#define N 1536 + float A[N][N]; + void test() { + for (int i = 0; i < N; i++) + for (int j = 0; j < N; j++) + A[i][j] = 0; + }' > "${BATS_TMPDIR}/opt_test.c" + + run clang-$VERSION -S -O2 -fsave-optimization-record -emit-llvm "${BATS_TMPDIR}/opt_test.c" -o "${BATS_TMPDIR}/opt_test.s" + assert_success + + run test -s "${BATS_TMPDIR}/opt_test.opt.yaml" + assert_success +} + +@test "Test LLVM tools - llvm-dis" { + echo 'int main() { return 42; }' > "${BATS_TMPDIR}/llvm_tools_test.c" + + run clang-$VERSION -O3 -emit-llvm "${BATS_TMPDIR}/llvm_tools_test.c" -c -o "${BATS_TMPDIR}/llvm_tools_test.bc" + assert_success + + run llvm-dis-$VERSION < "${BATS_TMPDIR}/llvm_tools_test.bc" + assert_success + assert_output -p "42" +} + +@test "Test LLVM debuginfod-find" { + run llvm-debuginfod-find-$VERSION --executable=1 5d016364c1cb69dd + + # Check that it's not built without curl support + refute_output -p "No working HTTP" +} + +@test "Test libclang library versions" { + run test ! -f "/usr/lib/llvm-$VERSION/lib/libclang.so.1" + assert_success "/usr/lib/llvm-$VERSION/lib/libclang.so.1 found. - Break the build as it breaks the coinstalability" +} + +@test "Test clang-cpp linking" { + echo '#include + int main() { return 0; }' > "${BATS_TMPDIR}/cpp_link_test.cpp" + + run clang-$VERSION -lclang-cpp$VERSION "${BATS_TMPDIR}/cpp_link_test.cpp" -o "${BATS_TMPDIR}/cpp_link_test" + assert_success + + run ldd "${BATS_TMPDIR}/cpp_link_test" + assert_output -p "libclang-cpp" + run "${BATS_TMPDIR}/cpp_link_test" + assert_success +} + +@test "Verify symbolic links for LLVM libraries" { + check_symlink() { + local symlink_path="/usr/lib/llvm-${VERSION}/lib/$1" + + # Check if the symlink exists + if [ ! -e "$symlink_path" ]; then + echo "Invalid symlink: $symlink_path" + ls -al "$symlink_path" 2>/dev/null || true + fail "Symbolic link validation failed for $1" + fi + } + + # Check required symlinks + check_symlink "libclang-cpp.so" + check_symlink "libclang-${VERSION}.so" + check_symlink "libclang.so" +} + +@test "Test Python Clang bindings" { + skip_if_arch "i386" + echo " +from ctypes import * +libclang='/usr/lib/llvm-$VERSION/lib/libclang-$VERSION.so.1' +lib = CDLL(libclang) +fun = lib.clang_getAddressSpace +print(fun) + " > foo.py + + run python3 foo.py + assert_output -p "_FuncPtr" +} + +# ===================== libc++ + +@test "Test libc++ linking" { + echo '#include + int main() { std::vector v; v.push_back(1); return 0; }' > foo.cpp + run clang++-$VERSION -stdlib=libc++ foo.cpp -o foo + assert_success + run ./foo + assert_success +} + +@test "Test libc++abi linking" { + echo '#include + int main() { std::vector v; v.push_back(1); return 0; }' > foo.cpp + run clang++-$VERSION -stdlib=libc++ -lc++abi foo.cpp -o foo + assert_success + run ./foo + assert_success +} + +@test "Test libc++ compilation and linking" { + # Create the C++ source file + cat > "${BATS_TMPDIR}/libcxx_test.cpp" < +#include +#include +using namespace std; +int main(void) { + vector tab; + tab.push_back("the"); + tab.push_back("world"); + tab.insert(tab.begin(), "Hello"); + + for(vector::iterator it=tab.begin(); it!=tab.end(); ++it) + { + cout << *it << " "; + } + return 0; +} +EOF + + # Compile and link with libc++ + run clang++-$VERSION -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/o" + assert_success "Compilation with libc++ failed" + + # Check if the binary is linked against libc++.so.1 + run ldd "${BATS_TMPDIR}/o" + assert_output -p "libc++.so.1" "Binary is not linked against libc++.so.1" + + # Check if the binary is linked against libc++abi.so.1 + run ldd "${BATS_TMPDIR}/o" + assert_output -p "libc++abi.so.1" "Binary is not linked against libc++abi.so.1" + + # Run the compiled binary + run "${BATS_TMPDIR}/o" > /dev/null + assert_success "Execution of binary with libc++ failed" + + # Compile with libc++ and C++11 standard + run clang++-$VERSION -std=c++11 -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -o "${BATS_TMPDIR}/o_cpp11" + assert_success "Compilation with libc++ and C++11 failed" + + # Run the C++11 binary + run "${BATS_TMPDIR}/o_cpp11" > /dev/null + assert_success "Execution of C++11 binary with libc++ failed" + + # Compile with libc++, C++14 standard, and experimental features + run clang++-$VERSION -std=c++14 -stdlib=libc++ "${BATS_TMPDIR}/libcxx_test.cpp" -lc++experimental -o "${BATS_TMPDIR}/o_cpp14" + assert_success "Compilation with libc++, C++14, and experimental features failed" + + # Run the C++14 experimental binary + run "${BATS_TMPDIR}/o_cpp14" > /dev/null + assert_success "Execution of C++14 binary with libc++ and experimental features failed" +} + +@test "Test libc++ filesystem support" { + echo '#include + #include + using namespace std::filesystem; + int main() { + static_assert(std::is_same< + path, + std::filesystem::path + >::value, ""); + return 0; + }' > "${BATS_TMPDIR}/filesystem_test.cpp" + + run clang++-$VERSION -std=c++17 -stdlib=libc++ "${BATS_TMPDIR}/filesystem_test.cpp" -o "${BATS_TMPDIR}/filesystem_test" + assert_success +} + +@test "Test libc++ and libc++abi compatibility" { + # Create the C++ source file + echo '#include +int main() { }' > "${BATS_TMPDIR}/foo.cpp" + + # Part 1: Compile and link with libc++ and libc++abi + run clang++-$VERSION -stdlib=libc++ -lc++abi "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/o_libcxxabi" + assert_success "Compilation with libc++ and libc++abi failed" + + # Execute the binary + run "${BATS_TMPDIR}/o_libcxxabi" > /dev/null + assert_success "Execution of binary linked with libc++ and libc++abi failed" + + # Check if the binary is linked against libc++abi.so.1 + run ldd "${BATS_TMPDIR}/o_libcxxabi" + assert_output -p "libc++abi.so.1" "Binary is not linked against libc++abi.so.1" + + # Part 2: Compile with libc++abi and use libstdc++ headers + run clang++-$VERSION -lc++abi "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/o_libstdc++" + assert_success "Compilation with libc++abi and libstdc++ headers failed" + + # Execute the binary + run "${BATS_TMPDIR}/o_libstdc++" > /dev/null + assert_success "Execution of binary linked with libc++abi and libstdc++ headers failed" + + # Check if the binary is linked against libstdc++ + run ldd "${BATS_TMPDIR}/o_libstdc++" + assert_output -p "libstdc++.so." "Binary is not linked against libstdc++" +} + +@test "Test C++ exception handling with libc++ (Bug 1586215)" { + cat > "${BATS_TMPDIR}/foo.cpp" < +#include + +int main() +{ + try + { + std::string x; + char z = x.at(2); + std::cout << z << std::endl; + } + catch (...) + { + } + + return 0; +} +EOF + + run clang++-$VERSION -stdlib=libc++ -Wall -Werror "${BATS_TMPDIR}/foo.cpp" -o "${BATS_TMPDIR}/foo" + assert_success "Compilation with libc++ failed" + + run "${BATS_TMPDIR}/foo" + assert_success "Execution of binary failed" +} +@test "Test inline C++ compilation with libc++ (Bug 889832)" { + echo '#include +int main() {}' > foo.cpp + run clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ foo.cpp + assert_success "Inline C++ compilation with libc++ failed" +} + +@test "Test inline C++ compilation and libc++ modules (Bug 889832)" { + + echo '#include +int main() {}' > foo.cpp + run clang++-$VERSION -std=c++1z -x c++ -stdlib=libc++ foo.cpp + assert_success "Inline C++ compilation with libc++ failed" + + + cat > "${BATS_TMPDIR}/foo.cpp" < "${BATS_TMPDIR}/main.c" < +int main(void) +{ + double f = 2.0; + if (isnan(f)) + return 1; + return 0; +} +EOF + + # Compile the C program statically with libllvmlibc + run clang-$VERSION -static -nostdlib -nolibc -L/usr/lib/llvm-$VERSION/lib/ -lllvmlibc \ + "${BATS_TMPDIR}/main.c" -o "${BATS_TMPDIR}/foo" + assert_success "Compilation with libllvmlibc failed" + + # Verify no linkage to regular libc + run ldd "${BATS_TMPDIR}/foo" + refute_output -p "libc." "Binary is linked against regular libc" + + # Run the binary (segfault expected) + run "${BATS_TMPDIR}/foo" + assert_failure "Execution of binary failed (segfault expected)" +} + + + +@test "Test HIP language support" { + if ! dpkg -l | grep -q hipcc; then + skip "hipcc not installed" + fi + + echo '#include + int main() { return 0; }' > "${BATS_TMPDIR}/hip_test.hip" + + run clang++-$VERSION --rocm-path=/usr -x hip -lamdhip64 "${BATS_TMPDIR}/hip_test.hip" + assert_success +} + +@test "Test binary format check with lld" { + echo 'bool testAndSet(void *atomic) { + return __atomic_test_and_set(atomic, __ATOMIC_SEQ_CST); + }' > "${BATS_TMPDIR}/format_test.cpp" + + run clang++-$VERSION -c -target aarch64-linux-gnu "${BATS_TMPDIR}/format_test.cpp" + assert_success + + run file "format_test.o" + assert_output -p "aarch64" +} + +@test "Test errno header inclusion" { + echo '#include + int main() { return 0; }' > "${BATS_TMPDIR}/errno_test.c" + + run clang-$VERSION "${BATS_TMPDIR}/errno_test.c" + assert_success +} + +@test "Test ARM target features (Bug 930008)" { + run clang-$VERSION --target=arm-linux-gnueabihf -dM -E -xc - < /dev/null + assert_success + assert_output -p "#define __ARM_ARCH 7" +} + +@test "Test Cross TU optimization" { + echo 'int sum(int a, int b);' > "${BATS_TMPDIR}/crosstu_1.h" + echo '#include "crosstu_1.h" + int sum(int a, int b) { return a + b; }' > "${BATS_TMPDIR}/crosstu_1.cpp" + echo '#include "crosstu_1.h" + int main() { return sum(1, 2); }' > "${BATS_TMPDIR}/crosstu_2.cpp" + + run clang++-$VERSION -c "${BATS_TMPDIR}/crosstu_1.cpp" + assert_success + run clang++-$VERSION -c "${BATS_TMPDIR}/crosstu_2.cpp" + assert_success +} + +@test "Test header generation" { + echo "#include " > "${BATS_TMPDIR}/header_test.cc" + run clang++-$VERSION -P -E "${BATS_TMPDIR}/header_test.cc" + assert_success + + # Check if output has more than 60 non-empty lines + run bash -c "clang++-$VERSION -P -E ${BATS_TMPDIR}/header_test.cc | grep . | wc -l" + assert [ "$output" -gt 60 ] +} + +@test "Test atomic operations compilation (Bug 903709)" { + # Bug 903709: Ensure atomic operations compile correctly + + cat > "${BATS_TMPDIR}/atomic_test.c" < +void increment(atomic_size_t *arg) { + atomic_fetch_add(arg, 1); +} +EOF + + run clang-$VERSION -v -c "${BATS_TMPDIR}/atomic_test.c" + assert_success "Compilation of atomic operations (stdatomic.h) failed" +} + +@test "Test profile generation and use" { + echo 'int X = 0; + int main() { + for (int i = 0; i < 100; i++) + X += i; + return 0; + }' > "${BATS_TMPDIR}/profile_test.cc" + + run clang++-$VERSION -O2 -fprofile-instr-generate "${BATS_TMPDIR}/profile_test.cc" -o "${BATS_TMPDIR}/profile_test" + assert_success + + LLVM_PROFILE_FILE="${BATS_TMPDIR}/profile_test-%p.profraw" run "${BATS_TMPDIR}/profile_test" + assert_success + + run llvm-profdata-$VERSION merge -output="${BATS_TMPDIR}/profile_test.profdata" "${BATS_TMPDIR}/profile_test-"*.profraw + assert_success + + run clang++-$VERSION -O2 -fprofile-instr-use="${BATS_TMPDIR}/profile_test.profdata" "${BATS_TMPDIR}/profile_test.cc" -o "${BATS_TMPDIR}/profile_test_final" + assert_success +} + +# ===================== flang + +@test "Test flang Fortran compilation" { + if ! grep -q "^FLANG_ARCHS *=.* $DEB_HOST_ARCH" $DEBIAN_CONFIG; then + skip "flang is not configured on $DEB_HOST_ARCH" + fi + echo 'program math + implicit none + real :: x, y + x = 3.14 + y = 2.71 + print *, "x + y = ", x + y +end program math' > foo.f90 + run flang-new-$VERSION foo.f90 -o foo + assert_success + run ./foo + assert_success + assert_output -p "x + y =" +} + +@test "Test flang shared library functionality" { + if ! grep -q "^FLANG_ARCHS *=.* $DEB_HOST_ARCH" $DEBIAN_CONFIG; then + skip "flang is not configured on $DEB_HOST_ARCH" + fi + + echo 'module hello_world + contains + subroutine say_hello() + print *, "Hello, World!" + end subroutine say_hello + end module hello_world' > "${BATS_TMPDIR}/flang_lib.f90" + + run flang-new-$VERSION -c "${BATS_TMPDIR}/flang_lib.f90" -fpie + assert_success + + run flang-new-$VERSION -shared -fpie -o "${BATS_TMPDIR}/libflib.so" "flang_lib.o" + assert_success + + echo 'program main + use hello_world + call say_hello() + end program main' > "${BATS_TMPDIR}/flang_main.f90" + + run flang-new-$VERSION "${BATS_TMPDIR}/flang_main.f90" -L"${BATS_TMPDIR}" -lflib -o "${BATS_TMPDIR}/flang_test" + assert_success + + LD_LIBRARY_PATH="${BATS_TMPDIR}" run "${BATS_TMPDIR}/flang_test" + assert_output -p "Hello, World!" +} + +@test "Verify llvm-symbolizer functionality in verbose mode" { + # Define the path to llvm-symbolizer + local symbolizer_path="/usr/lib/llvm-${VERSION}/bin/llvm-symbolizer" + + # Ensure llvm-symbolizer exists + run test -f "${symbolizer_path}" + assert_success "llvm-symbolizer is missing" + + # Create a simple test program + echo '#include + int main() { + char *x = (char*)malloc(10 * sizeof(char*)); + free(x); + return x[5]; // Invalid memory access + }' > "${BATS_TMPDIR}/asan_test.c" + + # Compile with AddressSanitizer and enable verbose mode + run clang-$VERSION -o "${BATS_TMPDIR}/asan_test" -fsanitize=address -fno-omit-frame-pointer -g "${BATS_TMPDIR}/asan_test.c" + assert_success + + # Run the test program with verbose symbolizer options + ASAN_OPTIONS=verbosity=2:external_symbolizer_path="${symbolizer_path}" run "${BATS_TMPDIR}/asan_test" + assert_failure + assert_output -p "Using llvm-symbolizer" +} + +@test "Test SIMD intrinsics compilation (AMD64/i386)" { + # Skip test if not on AMD64 or i386 architectures + if [[ "$DEB_HOST_ARCH" != "amd64" && "$DEB_HOST_ARCH" != "i386" ]]; then + skip "Test skipped for non-x86 architectures" + fi + + # Create a C++ source file with SIMD intrinsics + echo '#include ' > "${BATS_TMPDIR}/simd_test.cc" + + # Compile the source file + run clang++-$VERSION -c "${BATS_TMPDIR}/simd_test.cc" + assert_success "Compilation of SIMD intrinsics () failed on x86" +} + +@test "Test preprocessing of limits header (Bug 913213)" { + echo '#include ' > "${BATS_TMPDIR}/limits_test.cc" + + # Compile the source file + run clang++-$VERSION -E -c "${BATS_TMPDIR}/limits_test.cc" + assert_output -p "limits.h" + assert_success "Preprocessing of failed" +} + +@test "Test cross-compiler compatibility for C++ objects (Bug 1488254)" { + cat > "${BATS_TMPDIR}/foo.cc" < +std::string hello = "Hello, world!\\n"; +EOF + + cat > "${BATS_TMPDIR}/bar.cc" < +#include +extern std::string hello; +int main() { + std::cout << hello; + return 0; +} +EOF + + # Test 1: Compile and link using GCC + run g++ -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o" + assert_success "Compilation with GCC failed for foo.cc" + run g++ "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out" + assert_success "Linking with GCC failed" + run "${BATS_TMPDIR}/a.out" + assert_success "Execution failed for binary compiled and linked with GCC" + + # Test 2: Compile and link using Clang++ + run clang++-$VERSION -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o" + assert_success "Compilation with Clang++ failed for foo.cc" + run clang++-$VERSION "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out" + assert_success "Linking with Clang++ failed" + run "${BATS_TMPDIR}/a.out" + assert_success "Execution failed for binary compiled and linked with Clang++" + + # Test 3: Compile with GCC, link with Clang++ + run g++ -c "${BATS_TMPDIR}/foo.cc" -o "${BATS_TMPDIR}/foo.o" + assert_success "Compilation with GCC failed for foo.cc" + run clang++-$VERSION "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out" + assert_success "Linking with Clang++ failed for GCC-compiled object" + run "${BATS_TMPDIR}/a.out" + assert_success "Execution failed for GCC-compiled, Clang++-linked binary" + + # Test 4: Compile with Clang++ -fPIC, link with GCC + run clang++-$VERSION -c "${BATS_TMPDIR}/foo.cc" -fPIC -o "${BATS_TMPDIR}/foo.o" + assert_success "Compilation with Clang++ -fPIC failed for foo.cc" + run g++ "${BATS_TMPDIR}/foo.o" "${BATS_TMPDIR}/bar.cc" -o "${BATS_TMPDIR}/a.out" + assert_success "Linking with GCC failed for Clang++-compiled object" + run "${BATS_TMPDIR}/a.out" + assert_success "Execution failed for Clang++-compiled, GCC-linked binary" +} + +@test "Test static linking and unwind library (Bug 46321)" { + cat > "${BATS_TMPDIR}/test.cpp" < +int main() { + std::cout << "Hello World!" << std::endl; +} +EOF + + # Compile and link with libc++, libunwind, and static libstdc++ + run clang++-$VERSION -stdlib=libc++ -unwindlib=libunwind -rtlib=compiler-rt \ + -static-libstdc++ -static-libgcc "${BATS_TMPDIR}/test.cpp" -lpthread -ldl -o "${BATS_TMPDIR}/test_static" + assert_success "Compilation with static linking and unwind library failed" + + # Execute the binary + run "${BATS_TMPDIR}/test_static" > /dev/null + assert_success "Execution of static-linked binary failed" + + # Compile with libc++, static libstdc++, and LLD + run clang++-$VERSION -stdlib=libc++ -static-libstdc++ -fuse-ld=lld -l:libc++abi.a \ + "${BATS_TMPDIR}/test.cpp" -o "${BATS_TMPDIR}/test_lld" + assert_success "Compilation with LLD failed" + + # Execute the binary + run "${BATS_TMPDIR}/test_lld" > /dev/null + assert_success "Execution of LLD-linked binary failed" + + # Compile with libc++ and nostdlib++ + run clang++-$VERSION -stdlib=libc++ -nostdlib++ "${BATS_TMPDIR}/test.cpp" \ + -l:libc++.a -l:libc++abi.a -pthread -o "${BATS_TMPDIR}/test_nostdlib" + assert_success "Compilation with nostdlib++ failed" + + # Execute the binary + run "${BATS_TMPDIR}/test_nostdlib" > /dev/null + assert_success "Execution of nostdlib++ binary failed" +} + +@test "Test shared plugin compilation (Bug 43604)" { + + cat > "${BATS_TMPDIR}/plugin_test.cpp" < +__attribute__((visibility("default"))) +extern "C" void plugin() { + std::cout << "Hello World from a plugin!" << std::endl; +} +EOF + + # Compile the shared library with hidden visibility and static libstdc++ + run clang++-$VERSION -shared -o "${BATS_TMPDIR}/plugin.so" -fvisibility=hidden \ + "${BATS_TMPDIR}/plugin_test.cpp" -static-libstdc++ || true + assert_success "Compilation of shared plugin with static libstdc++ failed" + + # Compile the shared library with hidden visibility and libc++ + run clang++-$VERSION -shared -o "${BATS_TMPDIR}/plugin.so" -fvisibility=hidden \ + "${BATS_TMPDIR}/plugin_test.cpp" -stdlib=libc++ -static-libstdc++ || true + assert_success "Compilation of shared plugin with libc++ failed" + + # Cleanup + rm -f "${BATS_TMPDIR}/plugin.so" +} + +@test "Test if LLVM IR bitcode in libclangIndex.a" { + rm -f *.o + # Define the path to libclangIndex.a + local archive_path="/usr/lib/llvm-${VERSION}/lib/libclangIndex.a" + + # Ensure the archive exists + run test -f "${archive_path}" + assert_success "libclangIndex.a is missing" + + # Extract the archive contents + run /usr/bin/ar x "${archive_path}" --output "${BATS_TMPDIR}" + assert_success "Failed to extract libclangIndex.a" + + # Check the extracted object files + run file "${BATS_TMPDIR}"/*.o + refute_output -p "LLVM IR bitcode" "Found LLVM IR bitcode in libclangIndex.a" +} + +@test "Test Z3 solver integration for static analysis" { + # Create the C source file + cat > "${BATS_TMPDIR}/z3_test.c" <= 0); // expected-warning{{FALSE}} +} +EOF + + # Step 1: Check if LLVM was built with Z3 support + run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" || true + if grep -q "error: analyzer constraint manager 'z3' is only available if LLVM was built with -DLLVM_ENABLE_Z3_SOLVER=ON" "${BATS_TMPDIR}/z3_test.log"; then + skip "Z3 solver not available in this LLVM build" + fi + + # Step 2: Run static analysis with Z3 constraints + run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c" + assert_success "Static analysis with Z3 constraints failed" + + # Step 3: Verify warnings generated + run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" + assert_success "Static analysis with Z3 constraints failed on verification" + cat "${BATS_TMPDIR}/z3_test.log" + assert_output -p "2 warnings generated." + + # Step 4: Run static analysis without Z3 constraints + run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" || true + refute_output -p "File a.c Line 7: UNKNOWN" "Static analysis should fail without Z3 constraints" + + # Step 5: Verify general static analysis warnings + run clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection "${BATS_TMPDIR}/z3_test.c" &> "${BATS_TMPDIR}/z3_test.log" + assert_success "Static analysis failed" + cat "${BATS_TMPDIR}/z3_test.log" + assert_output -p "warnings generated." + +} + +@test "Test atomic test-and-set compilation for AArch64 (Bug 827866)" { + + cat > "${BATS_TMPDIR}/atomic_test.cpp" < "${BATS_TMPDIR}/thinlto_1.c" + echo "int foo(void); int main() { return foo(); }" > "${BATS_TMPDIR}/thinlto_2.c" + + run clang-$VERSION -flto=thin -fuse-ld=lld -O2 "${BATS_TMPDIR}/thinlto_1.c" "${BATS_TMPDIR}/thinlto_2.c" -o "${BATS_TMPDIR}/thinlto_test" + assert_success + + run "${BATS_TMPDIR}/thinlto_test" + assert_success +} + +@test "Test compilation and execution with LTO and lld linker" { + cat > "${BATS_TMPDIR}/foo.c" < +int main() { + if (1==1) { + printf("true"); + } else { + printf("false"); + return 42; + } + return 0; +} +EOF + + # Test 1: Compile with LTO and execute + run clang-$VERSION -flto -fuse-ld=lld "${BATS_TMPDIR}/foo.c" -opaque-pointers -o "${BATS_TMPDIR}/foo_lto" + assert_success "Compilation with LTO failed" + run "${BATS_TMPDIR}/foo_lto" + assert_success "Execution of LTO binary failed" + + # Test 2: Compile with lld linker and execute + run clang-$VERSION -fuse-ld=lld "${BATS_TMPDIR}/foo.c" -o "${BATS_TMPDIR}/foo_lld" + assert_success "Compilation with lld linker failed" + run "${BATS_TMPDIR}/foo_lld" + assert_success "Execution of binary linked with lld linker failed" +} + +@test "Test LTO file generation and lld linker compatibility (Bug 919020)" { + + echo "int foo(void) { return 0; }" > "${BATS_TMPDIR}/foo.c" + + # Compile the source file with LTO + run clang-$VERSION -flto -c "${BATS_TMPDIR}/foo.c" -o "${BATS_TMPDIR}/foo.o" + assert_success "Compilation with LTO failed" + + # Check if the output is LLVM IR bitcode + run file "${BATS_TMPDIR}/foo.o" + assert_output -p "LLVM IR bitcode" "Expected LLVM IR bitcode but found otherwise" + + # Check if the symbol `foo` is present in the LTO object + run llvm-nm-$VERSION "${BATS_TMPDIR}/foo.o" + assert_output -p "T foo" "Symbol 'foo' not found in LTO object file, indicating lld linker issue" +} + +@test "Test LLVM Exegesis execution validation" { + # Run llvm-exegesis with vzeroupper snippet + echo "vzeroupper" | llvm-exegesis-$VERSION -mode=uops -snippets-file=- &> "${BATS_TMPDIR}/exegesis.log" || true + + # Check for issues related to libpfm initialization + if grep -q -E "(built without libpfm|cannot initialize libpfm)" "${BATS_TMPDIR}/exegesis.log"; then + echo "llvm-exegesis could not run correctly" + head -n 10 "${BATS_TMPDIR}/exegesis.log" + fail "llvm-exegesis execution failed due to libpfm issues" + fi + + # Ensure llvm-exegesis produced output successfully + run test -s "${BATS_TMPDIR}/exegesis.log" + assert_success "llvm-exegesis did not produce valid output" +} + +@test "Test backtrace functionality with libunwind" { + # Create the C++ source file for backtrace tests + cat > "${BATS_TMPDIR}/backtrace_test.cpp" < +#include + +void backtrace(int lower_bound) { + unw_context_t context; + unw_getcontext(&context); + + unw_cursor_t cursor; + unw_init_local(&cursor, &context); + + int n = 0; + do { + ++n; + if (n > 100) { + abort(); + } + } while (unw_step(&cursor) > 0); + + if (n < lower_bound) { + abort(); + } +} + +void test1(int i) { + backtrace(i); +} + +void test2(int i, int j) { + backtrace(i); + test1(j); +} + +void test3(int i, int j, int k) { + backtrace(i); + test2(j, k); +} + +void test_no_info() { + unw_context_t context; + unw_getcontext(&context); + + unw_cursor_t cursor; + unw_init_local(&cursor, &context); + + unw_proc_info_t info; + int ret = unw_get_proc_info(&cursor, &info); + if (ret != UNW_ESUCCESS) + abort(); + + unw_set_reg(&cursor, UNW_REG_IP, (unw_word_t)0); + + ret = unw_get_proc_info(&cursor, &info); + if (ret != UNW_ENOINFO) + abort(); +} + +int main(int, char**) { + test1(1); + test2(1, 2); + test3(1, 2, 3); + test_no_info(); + return 0; +} +EOF + + # Compile the program with libunwind + run clang++-$VERSION "${BATS_TMPDIR}/backtrace_test.cpp" -lunwind -ldl -I/usr/include/libunwind -o "${BATS_TMPDIR}/backtrace_test" + assert_success "Compilation with libunwind failed" + + # Run the compiled program + run "${BATS_TMPDIR}/backtrace_test" + assert_success "Execution of backtrace test failed" + + # Compile with libunwind and compiler-rt + run clang++-$VERSION "${BATS_TMPDIR}/backtrace_test.cpp" -unwindlib=libunwind -rtlib=compiler-rt -I/usr/include/libunwind -ldl -o "${BATS_TMPDIR}/backtrace_test_rt" + assert_success "Compilation with libunwind and compiler-rt failed" + + # Run the compiled program with compiler-rt + run "${BATS_TMPDIR}/backtrace_test_rt" + assert_success "Execution of backtrace test with compiler-rt failed" +} +@test "Test signal handling with libunwind" { + # Create the C++ source file for signal handling + cat > "${BATS_TMPDIR}/signal_test.cpp" < +#include +#include +#include +#include +#include +#include +#include +#include + +_Unwind_Reason_Code frame_handler(struct _Unwind_Context* ctx, void* arg) { + (void)arg; + Dl_info info = { 0, 0, 0, 0 }; + + if (dladdr(reinterpret_cast(_Unwind_GetIP(ctx)), &info) && + info.dli_sname && !strcmp("main", info.dli_sname)) { + _Exit(0); + } + return _URC_NO_REASON; +} + +void signal_handler(int signum) { + (void)signum; + _Unwind_Backtrace(frame_handler, NULL); + _Exit(-1); +} + +int main(int, char**) { + signal(SIGUSR1, signal_handler); + kill(getpid(), SIGUSR1); + return -2; +} +EOF + + # Compile the program with libunwind statically + run clang++-$VERSION "${BATS_TMPDIR}/signal_test.cpp" /usr/lib/llvm-$VERSION/lib/libunwind.a -I/usr/include/libunwind/ -lpthread -ldl -o "${BATS_TMPDIR}/signal_test_static" + assert_success "Compilation of signal handler with static libunwind failed" + + # Run the statically linked program (should exit gracefully) + run "${BATS_TMPDIR}/signal_test_static" + assert_failure "Execution of signal handler with static libunwind failed" + + # Compile with libunwind dynamically + run clang++-$VERSION "${BATS_TMPDIR}/signal_test.cpp" -unwindlib=libunwind -rtlib=compiler-rt -I/usr/include/libunwind -ldl -o "${BATS_TMPDIR}/signal_test_dynamic" + assert_success "Compilation of signal handler with dynamic libunwind failed" + + # Run the dynamically linked program (should exit gracefully) + run "${BATS_TMPDIR}/signal_test_dynamic" + assert_failure "Execution of signal handler with dynamic libunwind failed" +} + +@test "Test pthread_cancel with libunwind compatibility" { + # This test verifies pthread_cancel works, + # previously libunwind would be implicitely linked and cause + # segfaults + # See: https://github.com/llvm/llvm-project/issues/46321 + + cat > "${BATS_TMPDIR}/pthread_cancel_test.cpp" < +#include +#include + +int main() { + std::thread systhr([]() { + std::this_thread::sleep_for(std::chrono::seconds(10000)); + }); + + std::this_thread::sleep_for(std::chrono::milliseconds(20)); + pthread_cancel(systhr.native_handle()); + + systhr.join(); + return 0; +} +EOF + + # Test with libc++ and default settings - should work + run clang++-$VERSION -stdlib=libc++ -o "${BATS_TMPDIR}/pthread_test1" "${BATS_TMPDIR}/pthread_cancel_test.cpp" + assert_success "Compilation with libc++ failed" + + run timeout 5s "${BATS_TMPDIR}/pthread_test1" + assert_success "Execution with libc++ should not segfault" + + # Test with libc++ and compiler-rt - should work + run clang++-$VERSION -stdlib=libc++ --rtlib=compiler-rt -o "${BATS_TMPDIR}/pthread_test2" "${BATS_TMPDIR}/pthread_cancel_test.cpp" + assert_success "Compilation with libc++ and compiler-rt failed" + + run timeout 5s "${BATS_TMPDIR}/pthread_test2" + assert_success "Execution with libc++ and compiler-rt should not segfault" + + # Test with libstdc++ and default settings - should work + run clang++-$VERSION -o "${BATS_TMPDIR}/pthread_test3" "${BATS_TMPDIR}/pthread_cancel_test.cpp" + assert_success "Compilation with libstdc++ failed" + + run timeout 5s "${BATS_TMPDIR}/pthread_test3" + assert_success "Execution with libstdc++ should not segfault" + + # Test with libstdc++ and compiler-rt - should work + run clang++-$VERSION --rtlib=compiler-rt -o "${BATS_TMPDIR}/pthread_test4" "${BATS_TMPDIR}/pthread_cancel_test.cpp" + assert_success "Compilation with libstdc++ and compiler-rt failed" + + run timeout 5s "${BATS_TMPDIR}/pthread_test4" + assert_success "Execution with libstdc++ and compiler-rt should not segfault" +} + +teardown() { + rm -f clangd.json *.o foo* crash-* *profraw hello* a.out polly_test.c pthread_test* + rm -rf scan-build output +} diff --git a/debian_path.h b/debian_path.h new file mode 100644 index 0000000000..539636f8c1 --- /dev/null +++ b/debian_path.h @@ -0,0 +1,16 @@ +//===----------------------------------------------------------------------===// +// +// Debian paths declaration management +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef DEBIAN_PATH_H +#define DEBIAN_PATH_H + +// Provides the debian revision +#define DEB_PATCHSETVERSION "@DEB_PATCHSETVERSION@" + +#endif diff --git a/flang-X.Y.install.in b/flang-X.Y.install.in new file mode 100644 index 0000000000..e95fe12553 --- /dev/null +++ b/flang-X.Y.install.in @@ -0,0 +1,17 @@ +@LLVM_DIR@/bin/bbc +@LLVM_DIR@/bin/f18-parse-demo +@LLVM_DIR@/bin/fir-opt +@LLVM_DIR@/bin/flang +@LLVM_DIR@/bin/flang-@LLVM_VERSION@ +@LLVM_DIR@/bin/flang-new +@LLVM_DIR@/bin/tco +@LLVM_DIR@/bin/fir-lsp-server + + +usr/bin/bbc-@LLVM_VERSION@ +usr/bin/f18-parse-demo-@LLVM_VERSION@ +usr/bin/fir-opt-@LLVM_VERSION@ +usr/bin/flang-@LLVM_VERSION@ +usr/bin/flang-new-@LLVM_VERSION@ +usr/bin/tco-@LLVM_VERSION@ +usr/bin/fir-lsp-server-@LLVM_VERSION@ diff --git a/flang-X.Y.lintian-overrides.in b/flang-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..c5ecd85621 --- /dev/null +++ b/flang-X.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# known ... +flang-@LLVM_VERSION@: no-manual-page diff --git a/libbolt-X.Y-dev.install.in b/libbolt-X.Y-dev.install.in new file mode 100755 index 0000000000..4281f8c021 --- /dev/null +++ b/libbolt-X.Y-dev.install.in @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec + +[amd64 arm64] /@LLVM_LIBDIR@/libbolt_rt_hugify.a +[amd64 arm64] /@LLVM_LIBDIR@/libbolt_rt_instr.a diff --git a/libc++-X.Y-dev-wasm32.install.in b/libc++-X.Y-dev-wasm32.install.in new file mode 100644 index 0000000000..ddacb9f679 --- /dev/null +++ b/libc++-X.Y-dev-wasm32.install.in @@ -0,0 +1,5 @@ +@LLVM_LIBDIR@/wasm32-wasi/libc++.a +@LLVM_LIBDIR@/wasm32-wasi/libc++experimental.a +@LLVM_LIBDIR@/wasm32-wasi/libc++.modules.json +@LLVM_DIR@/include/wasm32-wasi/c++/ +@LLVM_DIR@/include/wasm32-wasi/c++/v1/ diff --git a/libc++-X.Y-dev-wasm32.links.in b/libc++-X.Y-dev-wasm32.links.in new file mode 100644 index 0000000000..568a0c37a4 --- /dev/null +++ b/libc++-X.Y-dev-wasm32.links.in @@ -0,0 +1,2 @@ +@LLVM_LIBDIR@/wasm32-wasi/libc++.a /usr/lib/wasm32-wasi/libc++.a +@LLVM_DIR@/include/wasm32-wasi/c++/v1 /usr/include/wasm32-wasi/c++/v1 diff --git a/libc++-X.Y-dev-wasm32.lintian-overrides.in b/libc++-X.Y-dev-wasm32.lintian-overrides.in new file mode 100644 index 0000000000..d0e330ed75 --- /dev/null +++ b/libc++-X.Y-dev-wasm32.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++-@LLVM_VERSION@-dev-wasm32: no-code-sections +libc++-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object diff --git a/libc++-X.Y-dev.install.in b/libc++-X.Y-dev.install.in new file mode 100644 index 0000000000..cfac283d7d --- /dev/null +++ b/libc++-X.Y-dev.install.in @@ -0,0 +1,12 @@ +@LLVM_LIBDIR@/libc++.so usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/libc++.a usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/libc++.modules.json usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/libc++experimental.a usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_DIR@/include/c++/ +@LLVM_DIR@/include/c++/v1/ + +# C++ modules +# FIXME: Install these in /usr/lib and provide symlinks in LLVM libdir +@LLVM_DIR@/share/libc++/v1/std.compat/*.inc +@LLVM_DIR@/share/libc++/v1/*.cppm +@LLVM_DIR@/share/libc++/v1/std/*.inc diff --git a/libc++-X.Y-dev.links.in b/libc++-X.Y-dev.links.in new file mode 100644 index 0000000000..eaee68933d --- /dev/null +++ b/libc++-X.Y-dev.links.in @@ -0,0 +1,15 @@ +# links inside /usr/lib/@DEB_HOST_MULTIARCH@ +# NO symlink here, this is a linker script +#usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libc++.so + +# links from LLVM libdir to /usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/@DEB_HOST_MULTIARCH@/libc++.so.1.0 @LLVM_LIBDIR@/libc++.so.1.0 +usr/lib/@DEB_HOST_MULTIARCH@/libc++.a @LLVM_LIBDIR@/libc++.a +usr/lib/@DEB_HOST_MULTIARCH@/libc++.modules.json @LLVM_LIBDIR@/libc++.modules.json +usr/lib/@DEB_HOST_MULTIARCH@/libc++experimental.a @LLVM_LIBDIR@/libc++experimental.a + +# links inside LLVM libdir +@LLVM_LIBDIR@/libc++.so.1.0 @LLVM_DIR@/lib/libc++.so.1 +@LLVM_LIBDIR@/libc++.so.1 @LLVM_DIR@/lib/libc++.so + +@LLVM_DIR@/include/c++/v1 /usr/include/c++/v1 diff --git a/libc++-X.Y-dev.lintian-overrides.in b/libc++-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..35a937a02f --- /dev/null +++ b/libc++-X.Y-dev.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libc++.a* +libc++-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libc++experimental.a* diff --git a/libc++1.install.in b/libc++1.install.in new file mode 100644 index 0000000000..409606834e --- /dev/null +++ b/libc++1.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libc++.so.* usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libc++1.links.in b/libc++1.links.in new file mode 100644 index 0000000000..ab0b3ffbd6 --- /dev/null +++ b/libc++1.links.in @@ -0,0 +1 @@ +# M-A: same: the links from the LLVM libdir to /usr/lib go to the -dev package diff --git a/libc++1.lintian-overrides.in b/libc++1.lintian-overrides.in new file mode 100644 index 0000000000..d9e09a1276 --- /dev/null +++ b/libc++1.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++1: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libc++.so.1.0* +libc++1: breaks-without-version diff --git a/libc++1.symbols b/libc++1.symbols new file mode 100644 index 0000000000..959b7a0067 --- /dev/null +++ b/libc++1.symbols @@ -0,0 +1,1743 @@ +# SymbolsHelper-Confirmed: 1:21.1.5 amd64 arm64 armhf hurd-amd64 hurd-i386 i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 +libc++.so.1 #PACKAGE# #MINVER# + _ZNKSt12bad_any_cast4whatEv@Base 1:21.1 + _ZNKSt12experimental15fundamentals_v112bad_any_cast4whatEv@Base 1:21.1 + _ZNKSt16nested_exception14rethrow_nestedEv@Base 1:21.1 + _ZNKSt18bad_variant_access4whatEv@Base 1:21.1 + _ZNKSt19bad_optional_access4whatEv@Base 1:21.1 + _ZNKSt3__110__time_put8__do_putEPcRS1_PK2tmcc@Base 1:21.1 + _ZNKSt3__110__time_put8__do_putEPwRS1_PK2tmcc@Base 1:21.1 + _ZNKSt3__110error_code7messageEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb0EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIcLb1EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb0EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__110moneypunctIwLb1EE16do_thousands_sepEv@Base 1:21.1 + _ZNKSt3__112bad_weak_ptr4whatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIcE10do_tolowerEPcPKc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIcE10do_tolowerEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIcE10do_toupperEPcPKc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIcE10do_toupperEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE10do_scan_isEtPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE10do_tolowerEPwPKw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE10do_tolowerEw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE10do_toupperEPwPKw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE10do_toupperEw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE11do_scan_notEtPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE5do_isEPKwS3_Pt@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE5do_isEtw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE8do_widenEPKcS3_Pw@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE8do_widenEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE9do_narrowEPKwS3_cPc@Base 1:21.1 + (optional=templinst)_ZNKSt3__112ctype_bynameIwE9do_narrowEwc@Base 1:21.1 + _ZNKSt3__112strstreambuf6pcountEv@Base 1:21.1 + _ZNKSt3__113random_device7entropyEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114__codecvt_utf8IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114collate_bynameIcE10do_compareEPKcS3_S3_S3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114collate_bynameIcE12do_transformEPKcS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114collate_bynameIwE10do_compareEPKwS3_S3_S3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__114collate_bynameIwE12do_transformEPKwS3_@Base 1:21.1 + _ZNKSt3__114error_category10equivalentERKNS_10error_codeEi@Base 1:21.1 + _ZNKSt3__114error_category10equivalentEiRKNS_15error_conditionE@Base 1:21.1 + _ZNKSt3__114error_category23default_error_conditionEi@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb0EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDiLb1EE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb0EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IDsLb1EE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb0EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115__codecvt_utf16IwLb1EE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__115basic_streambufIcNS_11char_traitsIcEEE6getlocEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115basic_streambufIwNS_11char_traitsIwEEE6getlocEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strEv@Base 1:21.1 + _ZNKSt3__115error_condition7messageEv@Base 1:21.1 + _ZNKSt3__117bad_function_call4whatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb0EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIcLb1EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb0EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE13do_neg_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE13do_pos_formatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE14do_curr_symbolEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE14do_frac_digitsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE16do_negative_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE16do_positive_signEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__117moneypunct_bynameIwLb1EE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__118__time_get_storageIcE15__do_date_orderEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__118__time_get_storageIwE15__do_date_orderEv@Base 1:21.1 + _ZNKSt3__119__shared_weak_count13__get_deleterERKSt9type_info@Base 1:21.1 + (optional=templinst)_ZNKSt3__119bad_expected_accessIvE4whatEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE5do_inER11__mbstate_tPKcS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDiE6do_outER11__mbstate_tPKDiS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE5do_inER11__mbstate_tPKcS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IDsE6do_outER11__mbstate_tPKDsS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE10do_unshiftER11__mbstate_tPcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE5do_inER11__mbstate_tPKcS5_RS5_PwS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__codecvt_utf8_utf16IwE6do_outER11__mbstate_tPKwS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE3__XEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE3__cEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE3__rEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE3__xEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE7__am_pmEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE7__weeksEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIcE8__monthsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE3__XEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE3__cEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE3__rEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE3__xEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE7__am_pmEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE7__weeksEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__time_get_c_storageIwE8__monthsEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__120__vector_base_commonILb1EE20__throw_out_of_rangeEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__123__match_any_but_newlineIcE6__execERNS_7__stateIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__123__match_any_but_newlineIwE6__execERNS_7__stateIwEE@Base 1:21.1 + _ZNKSt3__13pmr26synchronized_pool_resource11do_is_equalERKNS0_15memory_resourceE@Base 1:21.1 + _ZNKSt3__13pmr28unsynchronized_pool_resource17__pool_block_sizeEi@Base 1:21.1 + _ZNKSt3__13pmr28unsynchronized_pool_resource22__log2_pool_block_sizeEi@Base 1:21.1 + _ZNKSt3__13pmr28unsynchronized_pool_resource7optionsEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem18directory_iterator13__dereferenceEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem28recursive_directory_iterator13__dereferenceEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem28recursive_directory_iterator5depthEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem28recursive_directory_iterator7optionsEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path10__filenameEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path11__extensionEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path11__root_nameEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path13__parent_pathEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path15__relative_pathEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path15__root_path_rawEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path16__root_directoryEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path16lexically_normalEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path18lexically_relativeERKS2_@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path3endEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path5beginEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path6__stemEv@Base 1:21.1 + _ZNKSt3__14__fs10filesystem4path9__compareENS_17basic_string_viewIcNS_11char_traitsIcEEEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE10do_tolowerEPcPKc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE10do_tolowerEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE10do_toupperEPcPKc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE10do_toupperEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE8do_widenEPKcS3_Pc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE8do_widenEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE9do_narrowEPKcS3_cPc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIcE9do_narrowEcc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE10do_scan_isEtPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE10do_tolowerEPwPKw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE10do_tolowerEw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE10do_toupperEPwPKw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE10do_toupperEw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE11do_scan_notEtPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE5do_isEPKwS3_Pt@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE5do_isEtw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE8do_widenEPKcS3_Pw@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE8do_widenEc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE9do_narrowEPKwS3_cPc@Base 1:21.1 + (optional=templinst)_ZNKSt3__15ctypeIwE9do_narrowEwc@Base 1:21.1 + _ZNKSt3__16locale4nameEv@Base 1:21.1 + _ZNKSt3__16locale9has_facetERNS0_2idE@Base 1:21.1 + _ZNKSt3__16locale9use_facetERNS0_2idE@Base 1:21.1 + _ZNKSt3__16localeeqERKS0_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDiDu11__mbstate_tE6do_outERS1_PKDiS5_RS5_PDuS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE10do_unshiftERS1_PDuS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE5do_inERS1_PKDuS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsDu11__mbstate_tE6do_outERS1_PKDsS5_RS5_PDuS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE11do_encodingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE13do_max_lengthEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE16do_always_noconvEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIcE10do_compareEPKcS3_S3_S3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIcE12do_transformEPKcS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIcE7do_hashEPKcS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIwE10do_compareEPKwS3_S3_S3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIwE12do_transformEPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17collateIwE7do_hashEPKwS3_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx@Base 1:21.1 + (optional=templinst)_ZNKSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy@Base 1:21.1 + _ZNKSt3__18ios_base6getlocEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIcE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIcE11do_truenameEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIcE12do_falsenameEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIcE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIcE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIwE11do_groupingEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIwE11do_truenameEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIwE12do_falsenameEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIwE16do_decimal_pointEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18numpunctIwE16do_thousands_sepEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE3putES4_RNS_8ios_baseEcPK2tmPKcSC_@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE3putES4_RNS_8ios_baseEwPK2tmPKwSC_@Base 1:21.1 + (optional=templinst)_ZNKSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc@Base 1:21.1 + (optional=templinst)_ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNKSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwu9__ieee128@Base 1:21.1 + _ZNSt11logic_errorC1EPKc@Base 1:21.1 + _ZNSt11logic_errorC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE@Base 1:21.1 + _ZNSt11logic_errorC1ERKS_@Base 1:21.1 + _ZNSt11logic_errorC2EPKc@Base 1:21.1 + _ZNSt11logic_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE@Base 1:21.1 + _ZNSt11logic_errorC2ERKS_@Base 1:21.1 + _ZNSt11logic_erroraSERKS_@Base 1:21.1 + _ZNSt12experimental19bad_optional_accessD0Ev@Base 1:21.1 + _ZNSt12experimental19bad_optional_accessD1Ev@Base 1:21.1 + _ZNSt12experimental19bad_optional_accessD2Ev@Base 1:21.1 + _ZNSt13exception_ptr31__from_native_exception_pointerEPv@Base 1:21.1 + _ZNSt13exception_ptrC1ERKS_@Base 1:21.1 + _ZNSt13exception_ptrC2ERKS_@Base 1:21.1 + _ZNSt13exception_ptrD1Ev@Base 1:21.1 + _ZNSt13exception_ptrD2Ev@Base 1:21.1 + _ZNSt13exception_ptraSERKS_@Base 1:21.1 + _ZNSt13runtime_errorC1EPKc@Base 1:21.1 + _ZNSt13runtime_errorC1ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE@Base 1:21.1 + _ZNSt13runtime_errorC1ERKS_@Base 1:21.1 + _ZNSt13runtime_errorC2EPKc@Base 1:21.1 + _ZNSt13runtime_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE@Base 1:21.1 + _ZNSt13runtime_errorC2ERKS_@Base 1:21.1 + _ZNSt13runtime_erroraSERKS_@Base 1:21.1 + _ZNSt16nested_exceptionC1Ev@Base 1:21.1 + _ZNSt16nested_exceptionC2Ev@Base 1:21.1 + _ZNSt16nested_exceptionD0Ev@Base 1:21.1 + _ZNSt16nested_exceptionD1Ev@Base 1:21.1 + _ZNSt16nested_exceptionD2Ev@Base 1:21.1 + _ZNSt19bad_optional_accessD0Ev@Base 1:21.1 + _ZNSt19bad_optional_accessD1Ev@Base 1:21.1 + _ZNSt19bad_optional_accessD2Ev@Base 1:21.1 + _ZNSt3__110__time_getC1EPKc@Base 1:21.1 + _ZNSt3__110__time_getC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__110__time_getC2EPKc@Base 1:21.1 + _ZNSt3__110__time_getC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__110__time_getD1Ev@Base 1:21.1 + _ZNSt3__110__time_getD2Ev@Base 1:21.1 + _ZNSt3__110__time_putC1EPKc@Base 1:21.1 + _ZNSt3__110__time_putC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__110__time_putC2EPKc@Base 1:21.1 + _ZNSt3__110__time_putC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__110__time_putD1Ev@Base 1:21.1 + _ZNSt3__110__time_putD2Ev@Base 1:21.1 + _ZNSt3__110ctype_base5alnumE@Base 1:21.1 + _ZNSt3__110ctype_base5alphaE@Base 1:21.1 + _ZNSt3__110ctype_base5blankE@Base 1:21.1 + _ZNSt3__110ctype_base5cntrlE@Base 1:21.1 + _ZNSt3__110ctype_base5digitE@Base 1:21.1 + _ZNSt3__110ctype_base5graphE@Base 1:21.1 + _ZNSt3__110ctype_base5lowerE@Base 1:21.1 + _ZNSt3__110ctype_base5printE@Base 1:21.1 + _ZNSt3__110ctype_base5punctE@Base 1:21.1 + _ZNSt3__110ctype_base5spaceE@Base 1:21.1 + _ZNSt3__110ctype_base5upperE@Base 1:21.1 + _ZNSt3__110ctype_base6xdigitE@Base 1:21.1 + _ZNSt3__110istrstreamD0Ev@Base 1:21.1 + _ZNSt3__110istrstreamD1Ev@Base 1:21.1 + _ZNSt3__110istrstreamD2Ev@Base 1:21.1 + _ZNSt3__110moneypunctIcLb0EE2idE@Base 1:21.1 + _ZNSt3__110moneypunctIcLb0EE4intlE@Base 1:21.1 + _ZNSt3__110moneypunctIcLb1EE2idE@Base 1:21.1 + _ZNSt3__110moneypunctIcLb1EE4intlE@Base 1:21.1 + _ZNSt3__110moneypunctIwLb0EE2idE@Base 1:21.1 + _ZNSt3__110moneypunctIwLb0EE4intlE@Base 1:21.1 + _ZNSt3__110moneypunctIwLb1EE2idE@Base 1:21.1 + _ZNSt3__110moneypunctIwLb1EE4intlE@Base 1:21.1 + _ZNSt3__110ostrstreamD0Ev@Base 1:21.1 + _ZNSt3__110ostrstreamD1Ev@Base 1:21.1 + _ZNSt3__110ostrstreamD2Ev@Base 1:21.1 + _ZNSt3__110to_wstringEd@Base 1:21.1 + _ZNSt3__110to_wstringEf@Base 1:21.1 + _ZNSt3__110to_wstringEi@Base 1:21.1 + _ZNSt3__110to_wstringEj@Base 1:21.1 + _ZNSt3__110to_wstringEl@Base 1:21.1 + _ZNSt3__110to_wstringEm@Base 1:21.1 + (arch=ppc64el)_ZNSt3__110to_wstringEu9__ieee128@Base 1:21.1 + _ZNSt3__110to_wstringEx@Base 1:21.1 + _ZNSt3__110to_wstringEy@Base 1:21.1 + _ZNSt3__111__call_onceERVmPvPFvS2_E@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri@Base 1:21.1 + (optional=templinst)_ZNSt3__111__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i@Base 1:21.1 + _ZNSt3__111regex_errorC1ENS_15regex_constants10error_typeE@Base 1:21.1 + _ZNSt3__111regex_errorC2ENS_15regex_constants10error_typeE@Base 1:21.1 + _ZNSt3__111regex_errorD0Ev@Base 1:21.1 + _ZNSt3__111regex_errorD1Ev@Base 1:21.1 + _ZNSt3__111regex_errorD2Ev@Base 1:21.1 + _ZNSt3__111timed_mutex4lockEv@Base 1:21.1 + _ZNSt3__111timed_mutex6unlockEv@Base 1:21.1 + _ZNSt3__111timed_mutex8try_lockEv@Base 1:21.1 + _ZNSt3__111timed_mutexC1Ev@Base 1:21.1 + _ZNSt3__111timed_mutexC2Ev@Base 1:21.1 + _ZNSt3__111timed_mutexD1Ev@Base 1:21.1 + _ZNSt3__111timed_mutexD2Ev@Base 1:21.1 + _ZNSt3__112__do_nothingEPv@Base 1:21.1 + _ZNSt3__112__get_sp_mutEPKv@Base 1:21.1 + _ZNSt3__112__rs_default4__c_E@Base 1:21.1 + _ZNSt3__112__rs_defaultC1ERKS0_@Base 1:21.1 + _ZNSt3__112__rs_defaultC1Ev@Base 1:21.1 + _ZNSt3__112__rs_defaultC2ERKS0_@Base 1:21.1 + _ZNSt3__112__rs_defaultC2Ev@Base 1:21.1 + _ZNSt3__112__rs_defaultD1Ev@Base 1:21.1 + _ZNSt3__112__rs_defaultD2Ev@Base 1:21.1 + _ZNSt3__112__rs_defaultclEv@Base 1:21.1 + _ZNSt3__112bad_weak_ptrD0Ev@Base 1:21.1 + _ZNSt3__112bad_weak_ptrD1Ev@Base 1:21.1 + _ZNSt3__112bad_weak_ptrD2Ev@Base 1:21.1 + _ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4nposE@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_RKS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_RKS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc@Base 1:21.1 + _ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4nposE@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_RKS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_RKS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSERKS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__112basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIcED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__112ctype_bynameIwED2Ev@Base 1:21.1 + _ZNSt3__112future_errorC1ENS_10error_codeE@Base 1:21.1 + _ZNSt3__112future_errorC2ENS_10error_codeE@Base 1:21.1 + _ZNSt3__112future_errorD0Ev@Base 1:21.1 + _ZNSt3__112future_errorD1Ev@Base 1:21.1 + _ZNSt3__112future_errorD2Ev@Base 1:21.1 + _ZNSt3__112placeholders2_1E@Base 1:21.1 + _ZNSt3__112placeholders2_2E@Base 1:21.1 + _ZNSt3__112placeholders2_3E@Base 1:21.1 + _ZNSt3__112placeholders2_4E@Base 1:21.1 + _ZNSt3__112placeholders2_5E@Base 1:21.1 + _ZNSt3__112placeholders2_6E@Base 1:21.1 + _ZNSt3__112placeholders2_7E@Base 1:21.1 + _ZNSt3__112placeholders2_8E@Base 1:21.1 + _ZNSt3__112placeholders2_9E@Base 1:21.1 + _ZNSt3__112placeholders3_10E@Base 1:21.1 + _ZNSt3__112strstreambuf3strEv@Base 1:21.1 + _ZNSt3__112strstreambuf4swapERS0_@Base 1:21.1 + _ZNSt3__112strstreambuf6freezeEb@Base 1:21.1 + _ZNSt3__112strstreambuf7seekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + _ZNSt3__112strstreambuf7seekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + _ZNSt3__112strstreambuf8overflowEi@Base 1:21.1 + _ZNSt3__112strstreambuf9pbackfailEi@Base 1:21.1 + _ZNSt3__112strstreambuf9underflowEv@Base 1:21.1 + _ZNSt3__112strstreambufD0Ev@Base 1:21.1 + _ZNSt3__112strstreambufD1Ev@Base 1:21.1 + _ZNSt3__112strstreambufD2Ev@Base 1:21.1 + _ZNSt3__112system_errorC1ENS_10error_codeE@Base 1:21.1 + _ZNSt3__112system_errorC1ENS_10error_codeEPKc@Base 1:21.1 + _ZNSt3__112system_errorC1ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__112system_errorC1EiRKNS_14error_categoryE@Base 1:21.1 + _ZNSt3__112system_errorC1EiRKNS_14error_categoryEPKc@Base 1:21.1 + _ZNSt3__112system_errorC1EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__112system_errorC2ENS_10error_codeE@Base 1:21.1 + _ZNSt3__112system_errorC2ENS_10error_codeEPKc@Base 1:21.1 + _ZNSt3__112system_errorC2ENS_10error_codeERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__112system_errorC2EiRKNS_14error_categoryE@Base 1:21.1 + _ZNSt3__112system_errorC2EiRKNS_14error_categoryEPKc@Base 1:21.1 + _ZNSt3__112system_errorC2EiRKNS_14error_categoryERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__112system_errorD0Ev@Base 1:21.1 + _ZNSt3__112system_errorD1Ev@Base 1:21.1 + _ZNSt3__112system_errorD2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE11__read_modeEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE12__write_modeEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4syncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5closeEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE8overflowEi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9pbackfailEi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE9underflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1EOS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2EOS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEEC2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_filebufIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE3getERNS_15basic_streambufIcS2_EEc@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE3getERc@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE3getEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE4peekEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE4syncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE5seekgENS_4fposI11__mbstate_tEE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE5seekgExNS_8ios_base7seekdirE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE5tellgEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE5ungetEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE6sentryC1ERS3_b@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE6sentryC2ERS3_b@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEE7putbackEc@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_8ios_baseES5_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsEPFRNS_9basic_iosIcS2_EES6_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsEPFRS3_S4_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsEPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERPv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERb@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERd@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERf@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERl@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERm@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERs@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERx@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIcNS_11char_traitsIcEEErsERy@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE3getERNS_15basic_streambufIwS2_EEw@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE3getERw@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE3getEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE4peekEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE4syncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE5seekgENS_4fposI11__mbstate_tEE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE5seekgExNS_8ios_base7seekdirE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE5tellgEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE5ungetEv@Base 1:21.1 + (optional=templinst|arch=hurd-i386)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE6ignoreEii@Base 1:21.1.5 + (optional=templinst|arch=hurd-amd64)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE6ignoreEli@Base 1:21.1.5 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE6sentryC1ERS3_b@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE6sentryC2ERS3_b@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEE7putbackEw@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_8ios_baseES5_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsEPFRNS_9basic_iosIwS2_EES6_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsEPFRS3_S4_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsEPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERPv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERb@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERd@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERf@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERl@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERm@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERs@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERx@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_istreamIwNS_11char_traitsIwEEErsERy@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE3putEc@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5flushEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5seekpENS_4fposI11__mbstate_tEE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5seekpExNS_8ios_base7seekdirE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE5tellpEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC1ERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_8ios_baseES5_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPFRNS_9basic_iosIcS2_EES6_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPFRS3_S4_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPKv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEb@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEd@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEf@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEl@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEm@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEs@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEx@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEy@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE3putEw@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5flushEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5seekpENS_4fposI11__mbstate_tEE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5seekpExNS_8ios_base7seekdirE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE5tellpEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC1ERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryC2ERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEE6sentryD2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEEC1EPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEEC2EPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_8ios_baseES5_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEPFRNS_9basic_iosIwS2_EES6_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEPFRS3_S4_E@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEPKv@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEPNS_15basic_streambufIwS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEb@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEd@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEf@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEi@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEj@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEl@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEm@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEs@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEt@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEu9__ieee128@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEx@Base 1:21.1 + (optional=templinst)_ZNSt3__113basic_ostreamIwNS_11char_traitsIwEEElsEy@Base 1:21.1 + _ZNSt3__113random_deviceC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__113random_deviceC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__113random_deviceD1Ev@Base 1:21.1 + _ZNSt3__113random_deviceD2Ev@Base 1:21.1 + _ZNSt3__113random_deviceclEv@Base 1:21.1 + (optional=templinst)_ZNSt3__113shared_futureIvED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113shared_futureIvED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__113shared_futureIvEaSERKS1_@Base 1:21.1 + _ZNSt3__114__num_get_base10__get_baseERNS_8ios_baseE@Base 1:21.1 + _ZNSt3__114__num_get_base5__srcE@Base 1:21.1 + _ZNSt3__114__num_put_base12__format_intEPcPKcbj@Base 1:21.1 + _ZNSt3__114__num_put_base14__format_floatEPcPKcj@Base 1:21.1 + _ZNSt3__114__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE@Base 1:21.1 + _ZNSt3__114__shared_count12__add_sharedEv@Base 1:21.1 + _ZNSt3__114__shared_count16__release_sharedEv@Base 1:21.1 + _ZNSt3__114__shared_countD0Ev@Base 1:21.1 + _ZNSt3__114__shared_countD1Ev@Base 1:21.1 + _ZNSt3__114__shared_countD2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openEPKcj@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_ifstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEEC1EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEEC2EPNS_15basic_streambufIcS2_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_iostreamIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openEPKcj@Base 1:21.1 + (optional=templinst)_ZNSt3__114basic_ofstreamIcNS_11char_traitsIcEEE4openERKNS_12basic_stringIcS2_NS_9allocatorIcEEEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDiDu11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDic11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDic11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDic11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsDu11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIDsc11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIcc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIcc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIcc11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIwc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIwc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114codecvt_bynameIwc11__mbstate_tED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIcED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__114collate_bynameIwED2Ev@Base 1:21.1 + _ZNSt3__114error_categoryC2Ev@Base 1:21.1 + _ZNSt3__114error_categoryD0Ev@Base 1:21.1 + _ZNSt3__114error_categoryD1Ev@Base 1:21.1 + _ZNSt3__114error_categoryD2Ev@Base 1:21.1 + _ZNSt3__115__get_classnameEPKcb@Base 1:21.1 + _ZNSt3__115__thread_struct25notify_all_at_thread_exitEPNS_18condition_variableEPNS_5mutexE@Base 1:21.1 + _ZNSt3__115__thread_struct27__make_ready_at_thread_exitEPNS_17__assoc_sub_stateE@Base 1:21.1 + _ZNSt3__115__thread_structC1Ev@Base 1:21.1 + _ZNSt3__115__thread_structC2Ev@Base 1:21.1 + _ZNSt3__115__thread_structD1Ev@Base 1:21.1 + _ZNSt3__115__thread_structD2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE10pubseekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE10pubseekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4setgEPcS4_S4_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4setpEPcS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE4syncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5gbumpEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5pbumpEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5sgetcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5sputcEc@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5uflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6sbumpcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE6snextcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7pubsyncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE7sungetcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8in_availEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8overflowEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE8pubimbueERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9showmanycEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9sputbackcEc@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE9underflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC1ERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2ERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEC2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIcNS_11char_traitsIcEEEaSERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE10pubseekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE10pubseekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4setgEPwS4_S4_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4setpEPwS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4swapERS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE4syncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5gbumpEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5pbumpEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5sgetcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5sputcEw@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE5uflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6sbumpcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE6snextcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7pubsyncEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE7sungetcEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8in_availEv@Base 1:21.1 + (optional=templinst|arch=hurd-amd64 hurd-i386)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEi@Base 1:21.1.5 + (optional=templinst|arch=!hurd-amd64 !hurd-i386)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8overflowEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE8pubimbueERKNS_6localeE@Base 1:21.1 + (optional=templinst|arch=hurd-amd64 hurd-i386)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEi@Base 1:21.1.5 + (optional=templinst|arch=!hurd-amd64 !hurd-i386)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9showmanycEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9sputbackcEw@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEE9underflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC1ERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC2ERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEC2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_streambufIwNS_11char_traitsIwEEEaSERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE3strERKNS_12basic_stringIcS2_S4_EE@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE4swapERS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE8overflowEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9pbackfailEi@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE9underflowEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC1EOS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEC2EOS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_@Base 1:21.1 + _ZNSt3__115future_categoryEv@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIcE6__initEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIcED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIwE6__initEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__115numpunct_bynameIwED2Ev@Base 1:21.1 + _ZNSt3__115recursive_mutex4lockEv@Base 1:21.1 + _ZNSt3__115recursive_mutex6unlockEv@Base 1:21.1 + _ZNSt3__115recursive_mutex8try_lockEv@Base 1:21.1 + _ZNSt3__115recursive_mutexC1Ev@Base 1:21.1 + _ZNSt3__115recursive_mutexC2Ev@Base 1:21.1 + _ZNSt3__115recursive_mutexD1Ev@Base 1:21.1 + _ZNSt3__115recursive_mutexD2Ev@Base 1:21.1 + _ZNSt3__115system_categoryEv@Base 1:21.1 + _ZNSt3__116__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj@Base 1:21.1 + _ZNSt3__116generic_categoryEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state10__sub_waitERNS_11unique_lockINS_5mutexEEE@Base 1:21.1 + _ZNSt3__117__assoc_sub_state12__make_readyEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state13set_exceptionESt13exception_ptr@Base 1:21.1 + _ZNSt3__117__assoc_sub_state16__on_zero_sharedEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state24set_value_at_thread_exitEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state28set_exception_at_thread_exitESt13exception_ptr@Base 1:21.1 + _ZNSt3__117__assoc_sub_state4copyEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state4waitEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state9__executeEv@Base 1:21.1 + _ZNSt3__117__assoc_sub_state9set_valueEv@Base 1:21.1 + _ZNSt3__117bad_function_callD0Ev@Base 1:21.1 + _ZNSt3__117bad_function_callD1Ev@Base 1:21.1 + _ZNSt3__117bad_function_callD2Ev@Base 1:21.1 + _ZNSt3__117iostream_categoryEv@Base 1:21.1 + (optional=templinst)_ZNSt3__117moneypunct_bynameIcLb0EE4initEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__117moneypunct_bynameIcLb1EE4initEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__117moneypunct_bynameIwLb0EE4initEPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__117moneypunct_bynameIwLb1EE4initEPKc@Base 1:21.1 + _ZNSt3__118__get_ostream_fileERNS_13basic_ostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcE4initERKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcE9__analyzeEcRKNS_5ctypeIcEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcEC1EPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcEC2EPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIcEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwE4initERKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwE9__analyzeEcRKNS_5ctypeIwEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwEC1EPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwEC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwEC2EPKc@Base 1:21.1 + (optional=templinst)_ZNSt3__118__time_get_storageIwEC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_@Base 1:21.1 + _ZNSt3__118condition_variable10notify_allEv@Base 1:21.1 + _ZNSt3__118condition_variable10notify_oneEv@Base 1:21.1 + _ZNSt3__118condition_variable4waitERNS_11unique_lockINS_5mutexEEE@Base 1:21.1 + _ZNSt3__118condition_variableD1Ev@Base 1:21.1 + _ZNSt3__118condition_variableD2Ev@Base 1:21.1 + _ZNSt3__118shared_timed_mutex11lock_sharedEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutex13unlock_sharedEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutex15try_lock_sharedEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutex4lockEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutex6unlockEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutex8try_lockEv@Base 1:21.1 + _ZNSt3__118shared_timed_mutexC1Ev@Base 1:21.1 + _ZNSt3__118shared_timed_mutexC2Ev@Base 1:21.1 + _ZNSt3__119__is_posix_terminalEP8_IO_FILE@Base 1:21.1 + _ZNSt3__119__shared_mutex_base11lock_sharedEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_base13unlock_sharedEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_base15try_lock_sharedEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_base4lockEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_base6unlockEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_base8try_lockEv@Base 1:21.1 + _ZNSt3__119__shared_mutex_baseC1Ev@Base 1:21.1 + _ZNSt3__119__shared_mutex_baseC2Ev@Base 1:21.1 + _ZNSt3__119__shared_weak_count10__add_weakEv@Base 1:21.1 + _ZNSt3__119__shared_weak_count12__add_sharedEv@Base 1:21.1 + _ZNSt3__119__shared_weak_count14__release_weakEv@Base 1:21.1 + _ZNSt3__119__shared_weak_count16__release_sharedEv@Base 1:21.1 + _ZNSt3__119__shared_weak_count4lockEv@Base 1:21.1 + _ZNSt3__119__shared_weak_countD0Ev@Base 1:21.1 + _ZNSt3__119__shared_weak_countD1Ev@Base 1:21.1 + _ZNSt3__119__shared_weak_countD2Ev@Base 1:21.1 + _ZNSt3__119__thread_local_dataEv@Base 1:21.1 + (optional=templinst)_ZNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEOS5_@Base 1:21.1 + _ZNSt3__120__get_collation_nameEPKc@Base 1:21.1 + (arch=!hurd-i386)_ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEEi@Base 1:21.1.5 + (arch=hurd-i386)_ZNSt3__120__libcpp_atomic_waitEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEEx@Base 1:21.1.5 + (arch=!hurd-i386)_ZNSt3__120__libcpp_atomic_waitEPVKvi@Base 1:21.1.5 + (arch=hurd-i386)_ZNSt3__120__libcpp_atomic_waitEPVKvx@Base 1:21.1.5 + _ZNSt3__120__throw_system_errorEiPKc@Base 1:21.1 + _ZNSt3__121__throw_runtime_errorEPKc@Base 1:21.1 + _ZNSt3__121recursive_timed_mutex4lockEv@Base 1:21.1 + _ZNSt3__121recursive_timed_mutex6unlockEv@Base 1:21.1 + _ZNSt3__121recursive_timed_mutex8try_lockEv@Base 1:21.1 + _ZNSt3__121recursive_timed_mutexC1Ev@Base 1:21.1 + _ZNSt3__121recursive_timed_mutexC2Ev@Base 1:21.1 + _ZNSt3__121recursive_timed_mutexD1Ev@Base 1:21.1 + _ZNSt3__121recursive_timed_mutexD2Ev@Base 1:21.1 + _ZNSt3__122__libcpp_verbose_abortEPKcz@Base 1:21.1 + (arch=!hurd-i386)_ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE@Base 1:21.1.5 + (arch=hurd-i386)_ZNSt3__123__cxx_atomic_notify_allEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE@Base 1:21.1.5 + _ZNSt3__123__cxx_atomic_notify_allEPVKv@Base 1:21.1 + (arch=!hurd-i386)_ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE@Base 1:21.1.5 + (arch=hurd-i386)_ZNSt3__123__cxx_atomic_notify_oneEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE@Base 1:21.1.5 + _ZNSt3__123__cxx_atomic_notify_oneEPVKv@Base 1:21.1 + (arch=!hurd-i386)_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE@Base 1:21.1.5 + (arch=hurd-i386)_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE@Base 1:21.1.5 + _ZNSt3__123__libcpp_atomic_monitorEPVKv@Base 1:21.1 + _ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE@Base 1:21.1 + (optional=templinst)_ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE@Base 1:21.1 + (optional=templinst)_ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE@Base 1:21.1 + _ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh@Base 1:21.1 + _ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE@Base 1:21.1 + _ZNSt3__13cinE@Base 1:21.1 + _ZNSt3__13pmr15memory_resourceD0Ev@Base 1:21.1 + _ZNSt3__13pmr15memory_resourceD1Ev@Base 1:21.1 + _ZNSt3__13pmr15memory_resourceD2Ev@Base 1:21.1 + _ZNSt3__13pmr19new_delete_resourceEv@Base 1:21.1 + _ZNSt3__13pmr20get_default_resourceEv@Base 1:21.1 + _ZNSt3__13pmr20null_memory_resourceEv@Base 1:21.1 + _ZNSt3__13pmr20set_default_resourceEPNS0_15memory_resourceE@Base 1:21.1 + _ZNSt3__13pmr28unsynchronized_pool_resource12__adhoc_pool13__release_ptrEPNS0_15memory_resourceE@Base 1:21.1 + _ZNSt3__13pmr28unsynchronized_pool_resource7releaseEv@Base 1:21.1 + _ZNSt3__13pmr28unsynchronized_pool_resourceC1ERKNS0_12pool_optionsEPNS0_15memory_resourceE@Base 1:21.1 + _ZNSt3__13pmr28unsynchronized_pool_resourceC2ERKNS0_12pool_optionsEPNS0_15memory_resourceE@Base 1:21.1 + _ZNSt3__14__fs10filesystem10__absoluteERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem10hash_valueERKNS1_4pathE@Base 1:21.1 + _ZNSt3__14__fs10filesystem11__canonicalERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem11__copy_fileERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem11__file_sizeERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem12__equivalentERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem12__remove_allERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem13__fs_is_emptyERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem13__permissionsERKNS1_4pathENS1_5permsENS1_12perm_optionsEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem14__copy_symlinkERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem14__current_pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem14__current_pathERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem14__read_symlinkERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem15directory_entry12__do_refreshEv@Base 1:21.1 + _ZNSt3__14__fs10filesystem16_FilesystemClock3nowEv@Base 1:21.1 + _ZNSt3__14__fs10filesystem16_FilesystemClock9is_steadyE@Base 1:21.1 + _ZNSt3__14__fs10filesystem16__create_symlinkERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem16__symlink_statusERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem16filesystem_error13__create_whatEi@Base 1:21.1 + _ZNSt3__14__fs10filesystem16filesystem_errorD0Ev@Base 1:21.1 + _ZNSt3__14__fs10filesystem16filesystem_errorD1Ev@Base 1:21.1 + _ZNSt3__14__fs10filesystem16filesystem_errorD2Ev@Base 1:21.1 + _ZNSt3__14__fs10filesystem17__hard_link_countERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc)_ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathENS_6chrono10time_pointINS1_16_FilesystemClockENS5_8durationIxNS_5ratioILx1ELx1000000000EEEEEEEPNS_10error_codeE@Base 1:21.1.5 + _ZNSt3__14__fs10filesystem17__last_write_timeERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18__create_directoryERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18__create_hard_linkERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18__weakly_canonicalERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18directory_iterator11__incrementEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18directory_iteratorC1ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE@Base 1:21.1 + _ZNSt3__14__fs10filesystem18directory_iteratorC2ERKNS1_4pathEPNS_10error_codeENS1_17directory_optionsE@Base 1:21.1 + _ZNSt3__14__fs10filesystem20__create_directoriesERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem21__temp_directory_pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem26__create_directory_symlinkERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iterator11__incrementEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iterator15__try_recursionEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iterator5__popEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iterator9__advanceEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC1ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem28recursive_directory_iteratorC2ERKNS1_4pathENS1_17directory_optionsEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem4path17replace_extensionERKS2_@Base 1:21.1 + _ZNSt3__14__fs10filesystem4path19preferred_separatorE@Base 1:21.1 + _ZNSt3__14__fs10filesystem4path8iterator11__decrementEv@Base 1:21.1 + _ZNSt3__14__fs10filesystem4path8iterator11__incrementEv@Base 1:21.1 + _ZNSt3__14__fs10filesystem6__copyERKNS1_4pathES4_NS1_12copy_optionsEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem7__spaceERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem8__removeERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem8__renameERKNS1_4pathES4_PNS_10error_codeE@Base 1:21.1 + _ZNSt3__14__fs10filesystem8__statusERKNS1_4pathEPNS_10error_codeE@Base 1:21.1 + _ZNSt3__14cerrE@Base 1:21.1 + _ZNSt3__14clogE@Base 1:21.1 + _ZNSt3__14coutE@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPj@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPj@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPj@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPj@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPji@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPji@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPji@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi@Base 1:21.1 + (arch=armel armhf hurd-i386 i386 powerpc x32)_ZNSt3__14stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPji@Base 1:21.1.5 + (arch=!armel !armhf !hurd-i386 !i386 !powerpc !x32)_ZNSt3__14stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi@Base 1:21.1 + _ZNSt3__14wcinE@Base 1:21.1 + _ZNSt3__15ctypeIcE10table_sizeE@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIcE13classic_tableEv@Base 1:21.1 + _ZNSt3__15ctypeIcE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIcED2Ev@Base 1:21.1 + _ZNSt3__15ctypeIwE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__15ctypeIwED2Ev@Base 1:21.1 + _ZNSt3__15mutex4lockEv@Base 1:21.1 + _ZNSt3__15mutex6unlockEv@Base 1:21.1 + _ZNSt3__15mutex8try_lockEv@Base 1:21.1 + _ZNSt3__15mutexD1Ev@Base 1:21.1 + _ZNSt3__15mutexD2Ev@Base 1:21.1 + _ZNSt3__15wcerrE@Base 1:21.1 + _ZNSt3__15wclogE@Base 1:21.1 + _ZNSt3__15wcoutE@Base 1:21.1 + _ZNSt3__16__clocEv@Base 1:21.1 + _ZNSt3__16__itoa8__u32toaEjPc@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIaaEEPaEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIccEEPcEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIddEEPdEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIffEEPfEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIhhEEPhEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIiiEEPiEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIjjEEPjEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIllEEPlEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessImmEEPmEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIssEEPsEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIttEEPtEEvT0_S5_T_@Base 1:21.1 + (optional=templinst|arch=ppc64el)_ZNSt3__16__sortIRNS_6__lessIu9__ieee128u9__ieee128EEPu9__ieee128EEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIwwEEPwEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIxxEEPxEEvT0_S5_T_@Base 1:21.1 + (optional=templinst)_ZNSt3__16__sortIRNS_6__lessIyyEEPyEEvT0_S5_T_@Base 1:21.1 + _ZNSt3__16chrono12steady_clock3nowEv@Base 1:21.1 + _ZNSt3__16chrono12steady_clock9is_steadyE@Base 1:21.1 + _ZNSt3__16chrono12system_clock3nowEv@Base 1:21.1 + _ZNSt3__16chrono12system_clock9is_steadyE@Base 1:21.1 + (optional=templinst)_ZNSt3__16futureIvE3getEv@Base 1:21.1 + (optional=templinst)_ZNSt3__16futureIvEC1EPNS_17__assoc_sub_stateE@Base 1:21.1 + (optional=templinst)_ZNSt3__16futureIvEC2EPNS_17__assoc_sub_stateE@Base 1:21.1 + (optional=templinst)_ZNSt3__16futureIvED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__16futureIvED2Ev@Base 1:21.1 + _ZNSt3__16locale14__install_ctorERKS0_PNS0_5facetEl@Base 1:21.1 + _ZNSt3__16locale2id5__getEv@Base 1:21.1 + _ZNSt3__16locale2id9__next_idE@Base 1:21.1 + _ZNSt3__16locale3allE@Base 1:21.1 + _ZNSt3__16locale4noneE@Base 1:21.1 + _ZNSt3__16locale4timeE@Base 1:21.1 + _ZNSt3__16locale5ctypeE@Base 1:21.1 + _ZNSt3__16locale5facet16__on_zero_sharedEv@Base 1:21.1 + _ZNSt3__16locale5facetD0Ev@Base 1:21.1 + _ZNSt3__16locale5facetD1Ev@Base 1:21.1 + _ZNSt3__16locale5facetD2Ev@Base 1:21.1 + _ZNSt3__16locale6globalERKS0_@Base 1:21.1 + _ZNSt3__16locale7classicEv@Base 1:21.1 + _ZNSt3__16locale7collateE@Base 1:21.1 + _ZNSt3__16locale7numericE@Base 1:21.1 + _ZNSt3__16locale8__globalEv@Base 1:21.1 + _ZNSt3__16locale8messagesE@Base 1:21.1 + _ZNSt3__16locale8monetaryE@Base 1:21.1 + _ZNSt3__16localeC1EPKc@Base 1:21.1 + _ZNSt3__16localeC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__16localeC1ERKS0_@Base 1:21.1 + _ZNSt3__16localeC1ERKS0_PKci@Base 1:21.1 + _ZNSt3__16localeC1ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi@Base 1:21.1 + _ZNSt3__16localeC1ERKS0_S2_i@Base 1:21.1 + _ZNSt3__16localeC1Ev@Base 1:21.1 + _ZNSt3__16localeC2EPKc@Base 1:21.1 + _ZNSt3__16localeC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZNSt3__16localeC2ERKS0_@Base 1:21.1 + _ZNSt3__16localeC2ERKS0_PKci@Base 1:21.1 + _ZNSt3__16localeC2ERKS0_RKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi@Base 1:21.1 + _ZNSt3__16localeC2ERKS0_S2_i@Base 1:21.1 + _ZNSt3__16localeC2Ev@Base 1:21.1 + _ZNSt3__16localeD1Ev@Base 1:21.1 + _ZNSt3__16localeD2Ev@Base 1:21.1 + _ZNSt3__16localeaSERKS0_@Base 1:21.1 + _ZNSt3__16thread20hardware_concurrencyEv@Base 1:21.1 + _ZNSt3__16thread4joinEv@Base 1:21.1 + _ZNSt3__16thread6detachEv@Base 1:21.1 + _ZNSt3__16threadD1Ev@Base 1:21.1 + _ZNSt3__16threadD2Ev@Base 1:21.1 + _ZNSt3__17codecvtIDiDu11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDiDu11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDiDu11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDiDu11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17codecvtIDic11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDic11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDic11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDic11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17codecvtIDsDu11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsDu11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsDu11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsDu11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17codecvtIDsc11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIDsc11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17codecvtIcc11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIcc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIcc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIcc11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17codecvtIwc11__mbstate_tE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIwc11__mbstate_tED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIwc11__mbstate_tED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17codecvtIwc11__mbstate_tED2Ev@Base 1:21.1 + _ZNSt3__17collateIcE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIcED2Ev@Base 1:21.1 + _ZNSt3__17collateIwE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17collateIwED2Ev@Base 1:21.1 + _ZNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + _ZNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + _ZNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + _ZNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvE10get_futureEv@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvE13set_exceptionESt13exception_ptr@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvE24set_value_at_thread_exitEv@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvE28set_exception_at_thread_exitESt13exception_ptr@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvE9set_valueEv@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvEC1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvEC2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__17promiseIvED2Ev@Base 1:21.1 + _ZNSt3__18__rs_getEv@Base 1:21.1 + _ZNSt3__18__sp_mut4lockEv@Base 1:21.1 + _ZNSt3__18__sp_mut6unlockEv@Base 1:21.1 + _ZNSt3__18ios_base10floatfieldE@Base 1:21.1 + _ZNSt3__18ios_base10scientificE@Base 1:21.1 + _ZNSt3__18ios_base11adjustfieldE@Base 1:21.1 + _ZNSt3__18ios_base15sync_with_stdioEb@Base 1:21.1 + _ZNSt3__18ios_base16__call_callbacksENS0_5eventE@Base 1:21.1 + _ZNSt3__18ios_base17register_callbackEPFvNS0_5eventERS0_iEi@Base 1:21.1 + _ZNSt3__18ios_base2inE@Base 1:21.1 + _ZNSt3__18ios_base33__set_badbit_and_consider_rethrowEv@Base 1:21.1 + _ZNSt3__18ios_base34__set_failbit_and_consider_rethrowEv@Base 1:21.1 + _ZNSt3__18ios_base3appE@Base 1:21.1 + _ZNSt3__18ios_base3ateE@Base 1:21.1 + _ZNSt3__18ios_base3decE@Base 1:21.1 + _ZNSt3__18ios_base3hexE@Base 1:21.1 + _ZNSt3__18ios_base3octE@Base 1:21.1 + _ZNSt3__18ios_base3outE@Base 1:21.1 + _ZNSt3__18ios_base4InitC1Ev@Base 1:21.1 + _ZNSt3__18ios_base4InitC2Ev@Base 1:21.1 + _ZNSt3__18ios_base4InitD1Ev@Base 1:21.1 + _ZNSt3__18ios_base4InitD2Ev@Base 1:21.1 + _ZNSt3__18ios_base4initEPv@Base 1:21.1 + _ZNSt3__18ios_base4leftE@Base 1:21.1 + _ZNSt3__18ios_base4moveERS0_@Base 1:21.1 + _ZNSt3__18ios_base4swapERS0_@Base 1:21.1 + _ZNSt3__18ios_base5clearEj@Base 1:21.1 + _ZNSt3__18ios_base5fixedE@Base 1:21.1 + _ZNSt3__18ios_base5imbueERKNS_6localeE@Base 1:21.1 + _ZNSt3__18ios_base5iwordEi@Base 1:21.1 + _ZNSt3__18ios_base5pwordEi@Base 1:21.1 + _ZNSt3__18ios_base5rightE@Base 1:21.1 + _ZNSt3__18ios_base5truncE@Base 1:21.1 + _ZNSt3__18ios_base6badbitE@Base 1:21.1 + _ZNSt3__18ios_base6binaryE@Base 1:21.1 + _ZNSt3__18ios_base6eofbitE@Base 1:21.1 + _ZNSt3__18ios_base6skipwsE@Base 1:21.1 + _ZNSt3__18ios_base6xallocEv@Base 1:21.1 + _ZNSt3__18ios_base7copyfmtERKS0_@Base 1:21.1 + _ZNSt3__18ios_base7failbitE@Base 1:21.1 + _ZNSt3__18ios_base7failureC1EPKcRKNS_10error_codeE@Base 1:21.1 + _ZNSt3__18ios_base7failureC1ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE@Base 1:21.1 + _ZNSt3__18ios_base7failureC2EPKcRKNS_10error_codeE@Base 1:21.1 + _ZNSt3__18ios_base7failureC2ERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_10error_codeE@Base 1:21.1 + _ZNSt3__18ios_base7failureD0Ev@Base 1:21.1 + _ZNSt3__18ios_base7failureD1Ev@Base 1:21.1 + _ZNSt3__18ios_base7failureD2Ev@Base 1:21.1 + _ZNSt3__18ios_base7goodbitE@Base 1:21.1 + _ZNSt3__18ios_base7showposE@Base 1:21.1 + _ZNSt3__18ios_base7unitbufE@Base 1:21.1 + _ZNSt3__18ios_base8internalE@Base 1:21.1 + _ZNSt3__18ios_base8showbaseE@Base 1:21.1 + _ZNSt3__18ios_base9__xindex_E@Base 1:21.1 + _ZNSt3__18ios_base9basefieldE@Base 1:21.1 + _ZNSt3__18ios_base9boolalphaE@Base 1:21.1 + _ZNSt3__18ios_base9showpointE@Base 1:21.1 + _ZNSt3__18ios_base9uppercaseE@Base 1:21.1 + _ZNSt3__18ios_baseD0Ev@Base 1:21.1 + _ZNSt3__18ios_baseD1Ev@Base 1:21.1 + _ZNSt3__18ios_baseD2Ev@Base 1:21.1 + _ZNSt3__18messagesIcE2idE@Base 1:21.1 + _ZNSt3__18messagesIwE2idE@Base 1:21.1 + _ZNSt3__18numpunctIcE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIcED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIcED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIcED2Ev@Base 1:21.1 + _ZNSt3__18numpunctIwE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIwED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIwED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__18numpunctIwED2Ev@Base 1:21.1 + _ZNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + _ZNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + _ZNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + _ZNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_d@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_dNS_12chars_formatE@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_dNS_12chars_formatEi@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_f@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_fNS_12chars_formatE@Base 1:21.1 + _ZNSt3__18to_charsEPcS0_fNS_12chars_formatEi@Base 1:21.1 + (arch=ppc64el)_ZNSt3__18to_charsEPcS0_u9__ieee128@Base 1:21.1 + (arch=ppc64el)_ZNSt3__18to_charsEPcS0_u9__ieee128NS_12chars_formatE@Base 1:21.1 + (arch=ppc64el)_ZNSt3__18to_charsEPcS0_u9__ieee128NS_12chars_formatEi@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_S2_@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIcE17__stage2_int_prepERNS_8ios_baseEPcRc@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_Pw@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIwE17__stage2_int_prepERNS_8ios_baseEPwRw@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__19__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIcNS_11char_traitsIcEEE7copyfmtERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIcNS_11char_traitsIcEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIcNS_11char_traitsIcEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIcNS_11char_traitsIcEEED2Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIwNS_11char_traitsIwEEE7copyfmtERKS3_@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIwNS_11char_traitsIwEEED0Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIwNS_11char_traitsIwEEED1Ev@Base 1:21.1 + (optional=templinst)_ZNSt3__19basic_iosIwNS_11char_traitsIwEEED2Ev@Base 1:21.1 + _ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_@Base 1:21.1 + _ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + (optional=templinst)_ZNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_@Base 1:21.1 + _ZNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE2idE@Base 1:21.1 + _ZNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE2idE@Base 1:21.1 + _ZNSt3__19strstreamD0Ev@Base 1:21.1 + _ZNSt3__19strstreamD1Ev@Base 1:21.1 + _ZNSt3__19strstreamD2Ev@Base 1:21.1 + _ZNSt3__19to_stringEd@Base 1:21.1 + _ZNSt3__19to_stringEf@Base 1:21.1 + _ZNSt3__19to_stringEi@Base 1:21.1 + _ZNSt3__19to_stringEj@Base 1:21.1 + _ZNSt3__19to_stringEl@Base 1:21.1 + _ZNSt3__19to_stringEm@Base 1:21.1 + (arch=ppc64el)_ZNSt3__19to_stringEu9__ieee128@Base 1:21.1 + _ZNSt3__19to_stringEx@Base 1:21.1 + _ZNSt3__19to_stringEy@Base 1:21.1 + (optional=templinst)_ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_@Base 1:21.1 + _ZSt17__throw_bad_allocv@Base 1:21.1 + _ZSt17current_exceptionv@Base 1:21.1 + _ZSt17rethrow_exceptionSt13exception_ptr@Base 1:21.1 + _ZSt18uncaught_exceptionv@Base 1:21.1 + _ZSt19uncaught_exceptionsv@Base 1:21.1 + _ZSt7nothrow@Base 1:21.1 + _ZTINSt12experimental15fundamentals_v112bad_any_castE@Base 1:21.1 + _ZTINSt12experimental19bad_optional_accessE@Base 1:21.1 + _ZTINSt3__110__time_getE@Base 1:21.1 + _ZTINSt3__110__time_putE@Base 1:21.1 + _ZTINSt3__110ctype_baseE@Base 1:21.1 + _ZTINSt3__110istrstreamE@Base 1:21.1 + _ZTINSt3__110money_baseE@Base 1:21.1 + _ZTINSt3__110moneypunctIcLb0EEE@Base 1:21.1 + _ZTINSt3__110moneypunctIcLb1EEE@Base 1:21.1 + _ZTINSt3__110moneypunctIwLb0EEE@Base 1:21.1 + _ZTINSt3__110moneypunctIwLb1EEE@Base 1:21.1 + _ZTINSt3__110ostrstreamE@Base 1:21.1 + _ZTINSt3__111__money_getIcEE@Base 1:21.1 + _ZTINSt3__111__money_getIwEE@Base 1:21.1 + _ZTINSt3__111__money_putIcEE@Base 1:21.1 + _ZTINSt3__111__money_putIwEE@Base 1:21.1 + _ZTINSt3__111regex_errorE@Base 1:21.1 + _ZTINSt3__112bad_weak_ptrE@Base 1:21.1 + _ZTINSt3__112codecvt_baseE@Base 1:21.1 + _ZTINSt3__112ctype_bynameIcEE@Base 1:21.1 + _ZTINSt3__112ctype_bynameIwEE@Base 1:21.1 + _ZTINSt3__112future_errorE@Base 1:21.1 + _ZTINSt3__112strstreambufE@Base 1:21.1 + _ZTINSt3__112system_errorE@Base 1:21.1 + _ZTINSt3__113basic_filebufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__113basic_istreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__113basic_istreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__113basic_ostreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTINSt3__113messages_baseE@Base 1:21.1 + _ZTINSt3__114__codecvt_utf8IDiEE@Base 1:21.1 + _ZTINSt3__114__codecvt_utf8IDsEE@Base 1:21.1 + _ZTINSt3__114__codecvt_utf8IwEE@Base 1:21.1 + _ZTINSt3__114__num_get_baseE@Base 1:21.1 + _ZTINSt3__114__num_put_baseE@Base 1:21.1 + _ZTINSt3__114__shared_countE@Base 1:21.1 + _ZTINSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__114basic_iostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIDic11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIDsc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIcc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114codecvt_bynameIwc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__114collate_bynameIcEE@Base 1:21.1 + _ZTINSt3__114collate_bynameIwEE@Base 1:21.1 + _ZTINSt3__114error_categoryE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IDiLb0EEE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IDiLb1EEE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IDsLb0EEE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IDsLb1EEE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IwLb0EEE@Base 1:21.1 + _ZTINSt3__115__codecvt_utf16IwLb1EEE@Base 1:21.1 + _ZTINSt3__115basic_streambufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__115basic_streambufIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTINSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTINSt3__115messages_bynameIcEE@Base 1:21.1 + _ZTINSt3__115messages_bynameIwEE@Base 1:21.1 + _ZTINSt3__115numpunct_bynameIcEE@Base 1:21.1 + _ZTINSt3__115numpunct_bynameIwEE@Base 1:21.1 + _ZTINSt3__115time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__115time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__115time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__115time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__117__assoc_sub_stateE@Base 1:21.1 + _ZTINSt3__117bad_function_callE@Base 1:21.1 + _ZTINSt3__117moneypunct_bynameIcLb0EEE@Base 1:21.1 + _ZTINSt3__117moneypunct_bynameIcLb1EEE@Base 1:21.1 + _ZTINSt3__117moneypunct_bynameIwLb0EEE@Base 1:21.1 + _ZTINSt3__117moneypunct_bynameIwLb1EEE@Base 1:21.1 + _ZTINSt3__118__time_get_storageIcEE@Base 1:21.1 + _ZTINSt3__118__time_get_storageIwEE@Base 1:21.1 + _ZTINSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTINSt3__119__shared_weak_countE@Base 1:21.1 + _ZTINSt3__119bad_expected_accessIvEE@Base 1:21.1 + _ZTINSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTINSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTINSt3__120__codecvt_utf8_utf16IDiEE@Base 1:21.1 + _ZTINSt3__120__codecvt_utf8_utf16IDsEE@Base 1:21.1 + _ZTINSt3__120__codecvt_utf8_utf16IwEE@Base 1:21.1 + _ZTINSt3__120__time_get_c_storageIcEE@Base 1:21.1 + _ZTINSt3__120__time_get_c_storageIwEE@Base 1:21.1 + _ZTINSt3__13pmr15memory_resourceE@Base 1:21.1 + _ZTINSt3__13pmr25monotonic_buffer_resourceE@Base 1:21.1 + _ZTINSt3__13pmr26synchronized_pool_resourceE@Base 1:21.1 + _ZTINSt3__13pmr28unsynchronized_pool_resourceE@Base 1:21.1 + _ZTINSt3__14__fs10filesystem16filesystem_errorE@Base 1:21.1 + _ZTINSt3__15ctypeIcEE@Base 1:21.1 + _ZTINSt3__15ctypeIwEE@Base 1:21.1 + _ZTINSt3__16locale5facetE@Base 1:21.1 + _ZTINSt3__17codecvtIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17codecvtIDic11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17codecvtIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17codecvtIDsc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17codecvtIcc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17codecvtIwc11__mbstate_tEE@Base 1:21.1 + _ZTINSt3__17collateIcEE@Base 1:21.1 + _ZTINSt3__17collateIwEE@Base 1:21.1 + _ZTINSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__18ios_base7failureE@Base 1:21.1 + _ZTINSt3__18ios_baseE@Base 1:21.1 + _ZTINSt3__18messagesIcEE@Base 1:21.1 + _ZTINSt3__18messagesIwEE@Base 1:21.1 + _ZTINSt3__18numpunctIcEE@Base 1:21.1 + _ZTINSt3__18numpunctIwEE@Base 1:21.1 + _ZTINSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__19__num_getIcEE@Base 1:21.1 + _ZTINSt3__19__num_getIwEE@Base 1:21.1 + _ZTINSt3__19__num_putIcEE@Base 1:21.1 + _ZTINSt3__19__num_putIwEE@Base 1:21.1 + _ZTINSt3__19basic_iosIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTINSt3__19basic_iosIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTINSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTINSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTINSt3__19strstreamE@Base 1:21.1 + _ZTINSt3__19time_baseE@Base 1:21.1 + _ZTISt12bad_any_cast@Base 1:21.1 + _ZTISt16nested_exception@Base 1:21.1 + _ZTISt18bad_variant_access@Base 1:21.1 + _ZTISt19bad_optional_access@Base 1:21.1 + _ZTSNSt12experimental15fundamentals_v112bad_any_castE@Base 1:21.1 + _ZTSNSt12experimental19bad_optional_accessE@Base 1:21.1 + _ZTSNSt3__110__time_getE@Base 1:21.1 + _ZTSNSt3__110__time_putE@Base 1:21.1 + _ZTSNSt3__110ctype_baseE@Base 1:21.1 + _ZTSNSt3__110istrstreamE@Base 1:21.1 + _ZTSNSt3__110money_baseE@Base 1:21.1 + _ZTSNSt3__110moneypunctIcLb0EEE@Base 1:21.1 + _ZTSNSt3__110moneypunctIcLb1EEE@Base 1:21.1 + _ZTSNSt3__110moneypunctIwLb0EEE@Base 1:21.1 + _ZTSNSt3__110moneypunctIwLb1EEE@Base 1:21.1 + _ZTSNSt3__110ostrstreamE@Base 1:21.1 + _ZTSNSt3__111__money_getIcEE@Base 1:21.1 + _ZTSNSt3__111__money_getIwEE@Base 1:21.1 + _ZTSNSt3__111__money_putIcEE@Base 1:21.1 + _ZTSNSt3__111__money_putIwEE@Base 1:21.1 + _ZTSNSt3__111regex_errorE@Base 1:21.1 + _ZTSNSt3__112bad_weak_ptrE@Base 1:21.1 + _ZTSNSt3__112codecvt_baseE@Base 1:21.1 + _ZTSNSt3__112ctype_bynameIcEE@Base 1:21.1 + _ZTSNSt3__112ctype_bynameIwEE@Base 1:21.1 + _ZTSNSt3__112future_errorE@Base 1:21.1 + _ZTSNSt3__112strstreambufE@Base 1:21.1 + _ZTSNSt3__112system_errorE@Base 1:21.1 + _ZTSNSt3__113basic_filebufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__113basic_istreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__113basic_istreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTSNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTSNSt3__113messages_baseE@Base 1:21.1 + _ZTSNSt3__114__codecvt_utf8IDiEE@Base 1:21.1 + _ZTSNSt3__114__codecvt_utf8IDsEE@Base 1:21.1 + _ZTSNSt3__114__codecvt_utf8IwEE@Base 1:21.1 + _ZTSNSt3__114__num_get_baseE@Base 1:21.1 + _ZTSNSt3__114__num_put_baseE@Base 1:21.1 + _ZTSNSt3__114__shared_countE@Base 1:21.1 + _ZTSNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__114basic_iostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIDic11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIDsc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIcc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114codecvt_bynameIwc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__114collate_bynameIcEE@Base 1:21.1 + _ZTSNSt3__114collate_bynameIwEE@Base 1:21.1 + _ZTSNSt3__114error_categoryE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IDiLb0EEE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IDiLb1EEE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IDsLb0EEE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IDsLb1EEE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IwLb0EEE@Base 1:21.1 + _ZTSNSt3__115__codecvt_utf16IwLb1EEE@Base 1:21.1 + _ZTSNSt3__115basic_streambufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__115basic_streambufIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTSNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTSNSt3__115messages_bynameIcEE@Base 1:21.1 + _ZTSNSt3__115messages_bynameIwEE@Base 1:21.1 + _ZTSNSt3__115numpunct_bynameIcEE@Base 1:21.1 + _ZTSNSt3__115numpunct_bynameIwEE@Base 1:21.1 + _ZTSNSt3__115time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__115time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__115time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__115time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__117__assoc_sub_stateE@Base 1:21.1 + _ZTSNSt3__117bad_function_callE@Base 1:21.1 + _ZTSNSt3__117moneypunct_bynameIcLb0EEE@Base 1:21.1 + _ZTSNSt3__117moneypunct_bynameIcLb1EEE@Base 1:21.1 + _ZTSNSt3__117moneypunct_bynameIwLb0EEE@Base 1:21.1 + _ZTSNSt3__117moneypunct_bynameIwLb1EEE@Base 1:21.1 + _ZTSNSt3__118__time_get_storageIcEE@Base 1:21.1 + _ZTSNSt3__118__time_get_storageIwEE@Base 1:21.1 + _ZTSNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTSNSt3__119__shared_weak_countE@Base 1:21.1 + _ZTSNSt3__119bad_expected_accessIvEE@Base 1:21.1 + _ZTSNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTSNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTSNSt3__120__codecvt_utf8_utf16IDiEE@Base 1:21.1 + _ZTSNSt3__120__codecvt_utf8_utf16IDsEE@Base 1:21.1 + _ZTSNSt3__120__codecvt_utf8_utf16IwEE@Base 1:21.1 + _ZTSNSt3__120__time_get_c_storageIcEE@Base 1:21.1 + _ZTSNSt3__120__time_get_c_storageIwEE@Base 1:21.1 + _ZTSNSt3__13pmr15memory_resourceE@Base 1:21.1 + _ZTSNSt3__13pmr25monotonic_buffer_resourceE@Base 1:21.1 + _ZTSNSt3__13pmr26synchronized_pool_resourceE@Base 1:21.1 + _ZTSNSt3__13pmr28unsynchronized_pool_resourceE@Base 1:21.1 + _ZTSNSt3__14__fs10filesystem16filesystem_errorE@Base 1:21.1 + _ZTSNSt3__15ctypeIcEE@Base 1:21.1 + _ZTSNSt3__15ctypeIwEE@Base 1:21.1 + _ZTSNSt3__16locale5facetE@Base 1:21.1 + _ZTSNSt3__17codecvtIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17codecvtIDic11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17codecvtIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17codecvtIDsc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17codecvtIcc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17codecvtIwc11__mbstate_tEE@Base 1:21.1 + _ZTSNSt3__17collateIcEE@Base 1:21.1 + _ZTSNSt3__17collateIwEE@Base 1:21.1 + _ZTSNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__18ios_base7failureE@Base 1:21.1 + _ZTSNSt3__18ios_baseE@Base 1:21.1 + _ZTSNSt3__18messagesIcEE@Base 1:21.1 + _ZTSNSt3__18messagesIwEE@Base 1:21.1 + _ZTSNSt3__18numpunctIcEE@Base 1:21.1 + _ZTSNSt3__18numpunctIwEE@Base 1:21.1 + _ZTSNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__19__num_getIcEE@Base 1:21.1 + _ZTSNSt3__19__num_getIwEE@Base 1:21.1 + _ZTSNSt3__19__num_putIcEE@Base 1:21.1 + _ZTSNSt3__19__num_putIwEE@Base 1:21.1 + _ZTSNSt3__19basic_iosIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTSNSt3__19basic_iosIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTSNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTSNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTSNSt3__19strstreamE@Base 1:21.1 + _ZTSNSt3__19time_baseE@Base 1:21.1 + _ZTSSt12bad_any_cast@Base 1:21.1 + _ZTSSt16nested_exception@Base 1:21.1 + _ZTSSt18bad_variant_access@Base 1:21.1 + _ZTSSt19bad_optional_access@Base 1:21.1 + _ZTTNSt3__110istrstreamE@Base 1:21.1 + _ZTTNSt3__110ostrstreamE@Base 1:21.1 + _ZTTNSt3__113basic_istreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTTNSt3__113basic_istreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTTNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTTNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTTNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTTNSt3__114basic_iostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTTNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTTNSt3__19strstreamE@Base 1:21.1 + _ZTVNSt12experimental15fundamentals_v112bad_any_castE@Base 1:21.1 + _ZTVNSt12experimental19bad_optional_accessE@Base 1:21.1 + _ZTVNSt3__110istrstreamE@Base 1:21.1 + _ZTVNSt3__110moneypunctIcLb0EEE@Base 1:21.1 + _ZTVNSt3__110moneypunctIcLb1EEE@Base 1:21.1 + _ZTVNSt3__110moneypunctIwLb0EEE@Base 1:21.1 + _ZTVNSt3__110moneypunctIwLb1EEE@Base 1:21.1 + _ZTVNSt3__110ostrstreamE@Base 1:21.1 + _ZTVNSt3__111regex_errorE@Base 1:21.1 + _ZTVNSt3__112bad_weak_ptrE@Base 1:21.1 + _ZTVNSt3__112ctype_bynameIcEE@Base 1:21.1 + _ZTVNSt3__112ctype_bynameIwEE@Base 1:21.1 + _ZTVNSt3__112future_errorE@Base 1:21.1 + _ZTVNSt3__112strstreambufE@Base 1:21.1 + _ZTVNSt3__112system_errorE@Base 1:21.1 + _ZTVNSt3__113basic_filebufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__113basic_istreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__113basic_istreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTVNSt3__113basic_ostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__113basic_ostreamIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTVNSt3__114__codecvt_utf8IDiEE@Base 1:21.1 + _ZTVNSt3__114__codecvt_utf8IDsEE@Base 1:21.1 + _ZTVNSt3__114__codecvt_utf8IwEE@Base 1:21.1 + _ZTVNSt3__114__shared_countE@Base 1:21.1 + _ZTVNSt3__114basic_ifstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__114basic_iostreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__114basic_ofstreamIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIDic11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIDsc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIcc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114codecvt_bynameIwc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__114collate_bynameIcEE@Base 1:21.1 + _ZTVNSt3__114collate_bynameIwEE@Base 1:21.1 + _ZTVNSt3__114error_categoryE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IDiLb0EEE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IDiLb1EEE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IDsLb0EEE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IDsLb1EEE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IwLb0EEE@Base 1:21.1 + _ZTVNSt3__115__codecvt_utf16IwLb1EEE@Base 1:21.1 + _ZTVNSt3__115basic_streambufIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__115basic_streambufIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTVNSt3__115messages_bynameIcEE@Base 1:21.1 + _ZTVNSt3__115messages_bynameIwEE@Base 1:21.1 + _ZTVNSt3__115numpunct_bynameIcEE@Base 1:21.1 + _ZTVNSt3__115numpunct_bynameIwEE@Base 1:21.1 + _ZTVNSt3__115time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__115time_get_bynameIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__115time_put_bynameIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__115time_put_bynameIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__117__assoc_sub_stateE@Base 1:21.1 + _ZTVNSt3__117bad_function_callE@Base 1:21.1 + _ZTVNSt3__117moneypunct_bynameIcLb0EEE@Base 1:21.1 + _ZTVNSt3__117moneypunct_bynameIcLb1EEE@Base 1:21.1 + _ZTVNSt3__117moneypunct_bynameIwLb0EEE@Base 1:21.1 + _ZTVNSt3__117moneypunct_bynameIwLb1EEE@Base 1:21.1 + _ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTVNSt3__119__shared_weak_countE@Base 1:21.1 + _ZTVNSt3__119bad_expected_accessIvEE@Base 1:21.1 + _ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE@Base 1:21.1 + _ZTVNSt3__120__codecvt_utf8_utf16IDiEE@Base 1:21.1 + _ZTVNSt3__120__codecvt_utf8_utf16IDsEE@Base 1:21.1 + _ZTVNSt3__120__codecvt_utf8_utf16IwEE@Base 1:21.1 + _ZTVNSt3__13pmr15memory_resourceE@Base 1:21.1 + _ZTVNSt3__13pmr25monotonic_buffer_resourceE@Base 1:21.1 + _ZTVNSt3__13pmr26synchronized_pool_resourceE@Base 1:21.1 + _ZTVNSt3__13pmr28unsynchronized_pool_resourceE@Base 1:21.1 + _ZTVNSt3__14__fs10filesystem16filesystem_errorE@Base 1:21.1 + _ZTVNSt3__15ctypeIcEE@Base 1:21.1 + _ZTVNSt3__15ctypeIwEE@Base 1:21.1 + _ZTVNSt3__16locale5facetE@Base 1:21.1 + _ZTVNSt3__17codecvtIDiDu11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17codecvtIDic11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17codecvtIDsDu11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17codecvtIDsc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17codecvtIcc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17codecvtIwc11__mbstate_tEE@Base 1:21.1 + _ZTVNSt3__17collateIcEE@Base 1:21.1 + _ZTVNSt3__17collateIwEE@Base 1:21.1 + _ZTVNSt3__17num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__17num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__17num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__17num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__18ios_base7failureE@Base 1:21.1 + _ZTVNSt3__18ios_baseE@Base 1:21.1 + _ZTVNSt3__18messagesIcEE@Base 1:21.1 + _ZTVNSt3__18messagesIwEE@Base 1:21.1 + _ZTVNSt3__18numpunctIcEE@Base 1:21.1 + _ZTVNSt3__18numpunctIwEE@Base 1:21.1 + _ZTVNSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__18time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__18time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__19basic_iosIcNS_11char_traitsIcEEEE@Base 1:21.1 + _ZTVNSt3__19basic_iosIwNS_11char_traitsIwEEEE@Base 1:21.1 + _ZTVNSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE@Base 1:21.1 + _ZTVNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE@Base 1:21.1 + _ZTVNSt3__19strstreamE@Base 1:21.1 + _ZTVSt12bad_any_cast@Base 1:21.1 + _ZTVSt16nested_exception@Base 1:21.1 + _ZTVSt18bad_variant_access@Base 1:21.1 + _ZTVSt19bad_optional_access@Base 1:21.1 + (arch=hurd-amd64 mips64el s390x sparc64 x32)__muloti4@Base 1:21.1.5 + (c++)"construction vtable for std::__1::basic_iostream >-in-std::__1::basic_stringstream, std::__1::allocator >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_iostream >-in-std::__1::strstream@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::basic_ifstream >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::basic_iostream >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::basic_istringstream, std::__1::allocator >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::basic_stringstream, std::__1::allocator >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::istrstream@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_istream >-in-std::__1::strstream@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::basic_iostream >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::basic_ofstream >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::basic_ostringstream, std::__1::allocator >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::basic_stringstream, std::__1::allocator >@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::ostrstream@Base" 1:21.1 + (c++)"construction vtable for std::__1::basic_ostream >-in-std::__1::strstream@Base" 1:21.1 + (c++)"non-virtual thunk to std::__1::basic_iostream >::~basic_iostream()@Base" 1:21.1 + (c++)"non-virtual thunk to std::__1::strstream::~strstream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::basic_iostream >::~basic_iostream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::basic_istream >::~basic_istream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::basic_istream >::~basic_istream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::basic_ostream >::~basic_ostream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::basic_ostream >::~basic_ostream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::istrstream::~istrstream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::ostrstream::~ostrstream()@Base" 1:21.1 + (c++)"virtual thunk to std::__1::strstream::~strstream()@Base" 1:21.1 diff --git a/libc++abi-X.Y-dev-wasm32.install.in b/libc++abi-X.Y-dev-wasm32.install.in new file mode 100644 index 0000000000..9f41f2963d --- /dev/null +++ b/libc++abi-X.Y-dev-wasm32.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/wasm32-wasi/libc++abi.a diff --git a/libc++abi-X.Y-dev-wasm32.links.in b/libc++abi-X.Y-dev-wasm32.links.in new file mode 100644 index 0000000000..19977ee020 --- /dev/null +++ b/libc++abi-X.Y-dev-wasm32.links.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/wasm32-wasi/libc++abi.a /usr/lib/wasm32-wasi/libc++abi.a diff --git a/libc++abi-X.Y-dev-wasm32.lintian-overrides.in b/libc++abi-X.Y-dev-wasm32.lintian-overrides.in new file mode 100644 index 0000000000..6207218c2e --- /dev/null +++ b/libc++abi-X.Y-dev-wasm32.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++abi-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *@LLVM_LIBDIR@/wasm32-wasi/libc++abi.a* +libc++abi-@LLVM_VERSION@-dev-wasm32: no-code-sections diff --git a/libc++abi-X.Y-dev.install.in b/libc++abi-X.Y-dev.install.in new file mode 100644 index 0000000000..5355097563 --- /dev/null +++ b/libc++abi-X.Y-dev.install.in @@ -0,0 +1,3 @@ +@LLVM_LIBDIR@/libc++abi*so usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/libc++abi.a usr/lib/@DEB_HOST_MULTIARCH@/ +libcxxabi/include/* @LLVM_DIR@/include/ diff --git a/libc++abi-X.Y-dev.links.in b/libc++abi-X.Y-dev.links.in new file mode 100644 index 0000000000..a9499c522e --- /dev/null +++ b/libc++abi-X.Y-dev.links.in @@ -0,0 +1,10 @@ +# links inside /usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1 usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so + +# links from LLVM libdir to /usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.so.1.0 @LLVM_LIBDIR@/libc++abi.so.1.0 +usr/lib/@DEB_HOST_MULTIARCH@/libc++abi.a @LLVM_LIBDIR@/libc++abi.a + +# links inside LLVM libdir +@LLVM_LIBDIR@/libc++abi.so.1.0 @LLVM_DIR@/lib/libc++abi.so.1 +@LLVM_LIBDIR@/libc++abi.so.1 @LLVM_DIR@/lib/libc++abi.so diff --git a/libc++abi-X.Y-dev.lintian-overrides.in b/libc++abi-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..9a219b5ab2 --- /dev/null +++ b/libc++abi-X.Y-dev.lintian-overrides.in @@ -0,0 +1 @@ +libc++abi-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libc++abi.a* diff --git a/libc++abi1.install.in b/libc++abi1.install.in new file mode 100644 index 0000000000..4f993ab6fc --- /dev/null +++ b/libc++abi1.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libc++abi.so.* usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libc++abi1.links.in b/libc++abi1.links.in new file mode 100644 index 0000000000..ab0b3ffbd6 --- /dev/null +++ b/libc++abi1.links.in @@ -0,0 +1 @@ +# M-A: same: the links from the LLVM libdir to /usr/lib go to the -dev package diff --git a/libc++abi1.lintian-overrides.in b/libc++abi1.lintian-overrides.in new file mode 100644 index 0000000000..423b8d50d2 --- /dev/null +++ b/libc++abi1.lintian-overrides.in @@ -0,0 +1,2 @@ +libc++abi1: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libc++abi.so.1.0* +libc++abi1: breaks-without-version diff --git a/libc++abi1.symbols b/libc++abi1.symbols new file mode 100644 index 0000000000..47c4ef9d67 --- /dev/null +++ b/libc++abi1.symbols @@ -0,0 +1,367 @@ +# SymbolsHelper-Confirmed: 1:21.1.5 amd64 arm64 armhf hurd-amd64 hurd-i386 i386 loong64 powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 +libc++abi.so.1 #PACKAGE# #MINVER# + _ZNKSt10bad_typeid4whatEv@Base 1:21.1 + _ZNKSt11logic_error4whatEv@Base 1:21.1 + _ZNKSt13bad_exception4whatEv@Base 1:21.1 + _ZNKSt13runtime_error4whatEv@Base 1:21.1 + _ZNKSt20bad_array_new_length4whatEv@Base 1:21.1 + _ZNKSt8bad_cast4whatEv@Base 1:21.1 + _ZNKSt9bad_alloc4whatEv@Base 1:21.1 + _ZNKSt9exception4whatEv@Base 1:21.1 + _ZNSt10bad_typeidC1Ev@Base 1:21.1 + _ZNSt10bad_typeidC2Ev@Base 1:21.1 + _ZNSt10bad_typeidD0Ev@Base 1:21.1 + _ZNSt10bad_typeidD1Ev@Base 1:21.1 + _ZNSt10bad_typeidD2Ev@Base 1:21.1 + _ZNSt11logic_errorD0Ev@Base 1:21.1 + _ZNSt11logic_errorD1Ev@Base 1:21.1 + _ZNSt11logic_errorD2Ev@Base 1:21.1 + _ZNSt11range_errorD0Ev@Base 1:21.1 + _ZNSt11range_errorD1Ev@Base 1:21.1 + _ZNSt11range_errorD2Ev@Base 1:21.1 + _ZNSt12domain_errorD0Ev@Base 1:21.1 + _ZNSt12domain_errorD1Ev@Base 1:21.1 + _ZNSt12domain_errorD2Ev@Base 1:21.1 + _ZNSt12length_errorD0Ev@Base 1:21.1 + _ZNSt12length_errorD1Ev@Base 1:21.1 + _ZNSt12length_errorD2Ev@Base 1:21.1 + _ZNSt12out_of_rangeD0Ev@Base 1:21.1 + _ZNSt12out_of_rangeD1Ev@Base 1:21.1 + _ZNSt12out_of_rangeD2Ev@Base 1:21.1 + _ZNSt13bad_exceptionD0Ev@Base 1:21.1 + _ZNSt13bad_exceptionD1Ev@Base 1:21.1 + _ZNSt13bad_exceptionD2Ev@Base 1:21.1 + _ZNSt13runtime_errorD0Ev@Base 1:21.1 + _ZNSt13runtime_errorD1Ev@Base 1:21.1 + _ZNSt13runtime_errorD2Ev@Base 1:21.1 + _ZNSt14overflow_errorD0Ev@Base 1:21.1 + _ZNSt14overflow_errorD1Ev@Base 1:21.1 + _ZNSt14overflow_errorD2Ev@Base 1:21.1 + _ZNSt15underflow_errorD0Ev@Base 1:21.1 + _ZNSt15underflow_errorD1Ev@Base 1:21.1 + _ZNSt15underflow_errorD2Ev@Base 1:21.1 + _ZNSt16invalid_argumentD0Ev@Base 1:21.1 + _ZNSt16invalid_argumentD1Ev@Base 1:21.1 + _ZNSt16invalid_argumentD2Ev@Base 1:21.1 + _ZNSt20bad_array_new_lengthC1Ev@Base 1:21.1 + _ZNSt20bad_array_new_lengthC2Ev@Base 1:21.1 + _ZNSt20bad_array_new_lengthD0Ev@Base 1:21.1 + _ZNSt20bad_array_new_lengthD1Ev@Base 1:21.1 + _ZNSt20bad_array_new_lengthD2Ev@Base 1:21.1 + _ZNSt8bad_castC1Ev@Base 1:21.1 + _ZNSt8bad_castC2Ev@Base 1:21.1 + _ZNSt8bad_castD0Ev@Base 1:21.1 + _ZNSt8bad_castD1Ev@Base 1:21.1 + _ZNSt8bad_castD2Ev@Base 1:21.1 + _ZNSt9bad_allocC1Ev@Base 1:21.1 + _ZNSt9bad_allocC2Ev@Base 1:21.1 + _ZNSt9bad_allocD0Ev@Base 1:21.1 + _ZNSt9bad_allocD1Ev@Base 1:21.1 + _ZNSt9bad_allocD2Ev@Base 1:21.1 + _ZNSt9exceptionD0Ev@Base 1:21.1 + _ZNSt9exceptionD1Ev@Base 1:21.1 + _ZNSt9exceptionD2Ev@Base 1:21.1 + _ZNSt9type_infoD0Ev@Base 1:21.1 + _ZNSt9type_infoD1Ev@Base 1:21.1 + _ZNSt9type_infoD2Ev@Base 1:21.1 + _ZSt10unexpectedv@Base 1:21.1 + _ZSt13get_terminatev@Base 1:21.1 + _ZSt13set_terminatePFvvE@Base 1:21.1 + _ZSt14get_unexpectedv@Base 1:21.1 + _ZSt14set_unexpectedPFvvE@Base 1:21.1 + _ZSt15get_new_handlerv@Base 1:21.1 + _ZSt15set_new_handlerPFvvE@Base 1:21.1 + _ZSt9terminatev@Base 1:21.1 + _ZTIDh@Base 1:21.1 + _ZTIDi@Base 1:21.1 + _ZTIDn@Base 1:21.1 + _ZTIDs@Base 1:21.1 + _ZTIDu@Base 1:21.1 + _ZTIN10__cxxabiv116__enum_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv116__shim_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv117__array_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv117__class_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv117__pbase_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv119__pointer_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv120__function_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv120__si_class_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv121__vmi_class_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv123__fundamental_type_infoE@Base 1:21.1 + _ZTIN10__cxxabiv129__pointer_to_member_type_infoE@Base 1:21.1 + _ZTIPDh@Base 1:21.1 + _ZTIPDi@Base 1:21.1 + _ZTIPDn@Base 1:21.1 + _ZTIPDs@Base 1:21.1 + _ZTIPDu@Base 1:21.1 + _ZTIPKDh@Base 1:21.1 + _ZTIPKDi@Base 1:21.1 + _ZTIPKDn@Base 1:21.1 + _ZTIPKDs@Base 1:21.1 + _ZTIPKDu@Base 1:21.1 + _ZTIPKa@Base 1:21.1 + _ZTIPKb@Base 1:21.1 + _ZTIPKc@Base 1:21.1 + _ZTIPKd@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTIPKe@Base 1:21.1 + _ZTIPKf@Base 1:21.1 + (arch=!ppc64el)_ZTIPKg@Base 1:21.1 + _ZTIPKh@Base 1:21.1 + _ZTIPKi@Base 1:21.1 + _ZTIPKj@Base 1:21.1 + _ZTIPKl@Base 1:21.1 + _ZTIPKm@Base 1:21.1 + _ZTIPKn@Base 1:21.1 + _ZTIPKo@Base 1:21.1 + _ZTIPKs@Base 1:21.1 + _ZTIPKt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTIPKu9__ieee128@Base 1:21.1 + _ZTIPKv@Base 1:21.1 + _ZTIPKw@Base 1:21.1 + _ZTIPKx@Base 1:21.1 + _ZTIPKy@Base 1:21.1 + _ZTIPa@Base 1:21.1 + _ZTIPb@Base 1:21.1 + _ZTIPc@Base 1:21.1 + _ZTIPd@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTIPe@Base 1:21.1 + _ZTIPf@Base 1:21.1 + (arch=!ppc64el)_ZTIPg@Base 1:21.1 + _ZTIPh@Base 1:21.1 + _ZTIPi@Base 1:21.1 + _ZTIPj@Base 1:21.1 + _ZTIPl@Base 1:21.1 + _ZTIPm@Base 1:21.1 + _ZTIPn@Base 1:21.1 + _ZTIPo@Base 1:21.1 + _ZTIPs@Base 1:21.1 + _ZTIPt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTIPu9__ieee128@Base 1:21.1 + _ZTIPv@Base 1:21.1 + _ZTIPw@Base 1:21.1 + _ZTIPx@Base 1:21.1 + _ZTIPy@Base 1:21.1 + _ZTISt10bad_typeid@Base 1:21.1 + _ZTISt11logic_error@Base 1:21.1 + _ZTISt11range_error@Base 1:21.1 + _ZTISt12domain_error@Base 1:21.1 + _ZTISt12length_error@Base 1:21.1 + _ZTISt12out_of_range@Base 1:21.1 + _ZTISt13bad_exception@Base 1:21.1 + _ZTISt13runtime_error@Base 1:21.1 + _ZTISt14overflow_error@Base 1:21.1 + _ZTISt15underflow_error@Base 1:21.1 + _ZTISt16invalid_argument@Base 1:21.1 + _ZTISt20bad_array_new_length@Base 1:21.1 + _ZTISt8bad_cast@Base 1:21.1 + _ZTISt9bad_alloc@Base 1:21.1 + _ZTISt9exception@Base 1:21.1 + _ZTISt9type_info@Base 1:21.1 + _ZTIa@Base 1:21.1 + _ZTIb@Base 1:21.1 + _ZTIc@Base 1:21.1 + _ZTId@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTIe@Base 1:21.1 + _ZTIf@Base 1:21.1 + (arch=!ppc64el)_ZTIg@Base 1:21.1 + _ZTIh@Base 1:21.1 + _ZTIi@Base 1:21.1 + _ZTIj@Base 1:21.1 + _ZTIl@Base 1:21.1 + _ZTIm@Base 1:21.1 + _ZTIn@Base 1:21.1 + _ZTIo@Base 1:21.1 + _ZTIs@Base 1:21.1 + _ZTIt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTIu9__ieee128@Base 1:21.1 + _ZTIv@Base 1:21.1 + _ZTIw@Base 1:21.1 + _ZTIx@Base 1:21.1 + _ZTIy@Base 1:21.1 + _ZTSDh@Base 1:21.1 + _ZTSDi@Base 1:21.1 + _ZTSDn@Base 1:21.1 + _ZTSDs@Base 1:21.1 + _ZTSDu@Base 1:21.1 + _ZTSN10__cxxabiv116__enum_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv116__shim_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv117__array_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv117__class_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv117__pbase_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv119__pointer_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv120__function_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv120__si_class_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv121__vmi_class_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv123__fundamental_type_infoE@Base 1:21.1 + _ZTSN10__cxxabiv129__pointer_to_member_type_infoE@Base 1:21.1 + _ZTSPDh@Base 1:21.1 + _ZTSPDi@Base 1:21.1 + _ZTSPDn@Base 1:21.1 + _ZTSPDs@Base 1:21.1 + _ZTSPDu@Base 1:21.1 + _ZTSPKDh@Base 1:21.1 + _ZTSPKDi@Base 1:21.1 + _ZTSPKDn@Base 1:21.1 + _ZTSPKDs@Base 1:21.1 + _ZTSPKDu@Base 1:21.1 + _ZTSPKa@Base 1:21.1 + _ZTSPKb@Base 1:21.1 + _ZTSPKc@Base 1:21.1 + _ZTSPKd@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTSPKe@Base 1:21.1 + _ZTSPKf@Base 1:21.1 + (arch=!ppc64el)_ZTSPKg@Base 1:21.1 + _ZTSPKh@Base 1:21.1 + _ZTSPKi@Base 1:21.1 + _ZTSPKj@Base 1:21.1 + _ZTSPKl@Base 1:21.1 + _ZTSPKm@Base 1:21.1 + _ZTSPKn@Base 1:21.1 + _ZTSPKo@Base 1:21.1 + _ZTSPKs@Base 1:21.1 + _ZTSPKt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTSPKu9__ieee128@Base 1:21.1 + _ZTSPKv@Base 1:21.1 + _ZTSPKw@Base 1:21.1 + _ZTSPKx@Base 1:21.1 + _ZTSPKy@Base 1:21.1 + _ZTSPa@Base 1:21.1 + _ZTSPb@Base 1:21.1 + _ZTSPc@Base 1:21.1 + _ZTSPd@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTSPe@Base 1:21.1 + _ZTSPf@Base 1:21.1 + (arch=!ppc64el)_ZTSPg@Base 1:21.1 + _ZTSPh@Base 1:21.1 + _ZTSPi@Base 1:21.1 + _ZTSPj@Base 1:21.1 + _ZTSPl@Base 1:21.1 + _ZTSPm@Base 1:21.1 + _ZTSPn@Base 1:21.1 + _ZTSPo@Base 1:21.1 + _ZTSPs@Base 1:21.1 + _ZTSPt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTSPu9__ieee128@Base 1:21.1 + _ZTSPv@Base 1:21.1 + _ZTSPw@Base 1:21.1 + _ZTSPx@Base 1:21.1 + _ZTSPy@Base 1:21.1 + _ZTSSt10bad_typeid@Base 1:21.1 + _ZTSSt11logic_error@Base 1:21.1 + _ZTSSt11range_error@Base 1:21.1 + _ZTSSt12domain_error@Base 1:21.1 + _ZTSSt12length_error@Base 1:21.1 + _ZTSSt12out_of_range@Base 1:21.1 + _ZTSSt13bad_exception@Base 1:21.1 + _ZTSSt13runtime_error@Base 1:21.1 + _ZTSSt14overflow_error@Base 1:21.1 + _ZTSSt15underflow_error@Base 1:21.1 + _ZTSSt16invalid_argument@Base 1:21.1 + _ZTSSt20bad_array_new_length@Base 1:21.1 + _ZTSSt8bad_cast@Base 1:21.1 + _ZTSSt9bad_alloc@Base 1:21.1 + _ZTSSt9exception@Base 1:21.1 + _ZTSSt9type_info@Base 1:21.1 + _ZTSa@Base 1:21.1 + _ZTSb@Base 1:21.1 + _ZTSc@Base 1:21.1 + _ZTSd@Base 1:21.1 + (arch=!powerpc !ppc64 !ppc64el !s390x)_ZTSe@Base 1:21.1 + _ZTSf@Base 1:21.1 + (arch=!ppc64el)_ZTSg@Base 1:21.1 + _ZTSh@Base 1:21.1 + _ZTSi@Base 1:21.1 + _ZTSj@Base 1:21.1 + _ZTSl@Base 1:21.1 + _ZTSm@Base 1:21.1 + _ZTSn@Base 1:21.1 + _ZTSo@Base 1:21.1 + _ZTSs@Base 1:21.1 + _ZTSt@Base 1:21.1 + (arch=powerpc ppc64 ppc64el)_ZTSu9__ieee128@Base 1:21.1 + _ZTSv@Base 1:21.1 + _ZTSw@Base 1:21.1 + _ZTSx@Base 1:21.1 + _ZTSy@Base 1:21.1 + _ZTVN10__cxxabiv116__enum_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv116__shim_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv117__array_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv117__class_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv117__pbase_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv119__pointer_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv120__function_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv120__si_class_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv121__vmi_class_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv123__fundamental_type_infoE@Base 1:21.1 + _ZTVN10__cxxabiv129__pointer_to_member_type_infoE@Base 1:21.1 + _ZTVSt10bad_typeid@Base 1:21.1 + _ZTVSt11logic_error@Base 1:21.1 + _ZTVSt11range_error@Base 1:21.1 + _ZTVSt12domain_error@Base 1:21.1 + _ZTVSt12length_error@Base 1:21.1 + _ZTVSt12out_of_range@Base 1:21.1 + _ZTVSt13bad_exception@Base 1:21.1 + _ZTVSt13runtime_error@Base 1:21.1 + _ZTVSt14overflow_error@Base 1:21.1 + _ZTVSt15underflow_error@Base 1:21.1 + _ZTVSt16invalid_argument@Base 1:21.1 + _ZTVSt20bad_array_new_length@Base 1:21.1 + _ZTVSt8bad_cast@Base 1:21.1 + _ZTVSt9bad_alloc@Base 1:21.1 + _ZTVSt9exception@Base 1:21.1 + _ZTVSt9type_info@Base 1:21.1 + _ZdaPv@Base 1:21.1 + _ZdaPvRKSt9nothrow_t@Base 1:21.1 + _ZdaPvSt11align_val_t@Base 1:21.1 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 1:21.1 + _ZdlPv@Base 1:21.1 + _ZdlPvRKSt9nothrow_t@Base 1:21.1 + _ZdlPvSt11align_val_t@Base 1:21.1 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 1:21.1 + __cxa_allocate_dependent_exception@Base 1:21.1 + __cxa_allocate_exception@Base 1:21.1 + __cxa_bad_cast@Base 1:21.1 + __cxa_bad_typeid@Base 1:21.1 + __cxa_begin_catch@Base 1:21.1 + (arch=armel armhf)__cxa_begin_cleanup@Base 1:21.1 + __cxa_call_terminate@Base 1:21.1 + __cxa_call_unexpected@Base 1:21.1 + __cxa_current_exception_type@Base 1:21.1 + __cxa_current_primary_exception@Base 1:21.1 + __cxa_decrement_exception_refcount@Base 1:21.1 + __cxa_deleted_virtual@Base 1:21.1 + __cxa_demangle@Base 1:21.1 + __cxa_end_catch@Base 1:21.1 + (arch=armel armhf)__cxa_end_cleanup@Base 1:21.1 + __cxa_free_dependent_exception@Base 1:21.1 + __cxa_free_exception@Base 1:21.1 + __cxa_get_exception_ptr@Base 1:21.1 + __cxa_get_globals@Base 1:21.1 + __cxa_get_globals_fast@Base 1:21.1 + __cxa_guard_abort@Base 1:21.1 + __cxa_guard_acquire@Base 1:21.1 + __cxa_guard_release@Base 1:21.1 + __cxa_increment_exception_refcount@Base 1:21.1 + __cxa_init_primary_exception@Base 1:21.1 + __cxa_new_handler@Base 1:21.1 + __cxa_pure_virtual@Base 1:21.1 + __cxa_rethrow@Base 1:21.1 + __cxa_rethrow_primary_exception@Base 1:21.1 + __cxa_terminate_handler@Base 1:21.1 + __cxa_thread_atexit@Base 1:21.1 + __cxa_throw@Base 1:21.1 + __cxa_throw_bad_array_new_length@Base 1:21.1 + __cxa_uncaught_exception@Base 1:21.1 + __cxa_uncaught_exceptions@Base 1:21.1 + __cxa_unexpected_handler@Base 1:21.1 + __cxa_vec_cctor@Base 1:21.1 + __cxa_vec_cleanup@Base 1:21.1 + __cxa_vec_ctor@Base 1:21.1 + __cxa_vec_delete2@Base 1:21.1 + __cxa_vec_delete3@Base 1:21.1 + __cxa_vec_delete@Base 1:21.1 + __cxa_vec_dtor@Base 1:21.1 + __cxa_vec_new2@Base 1:21.1 + __cxa_vec_new3@Base 1:21.1 + __cxa_vec_new@Base 1:21.1 + __dynamic_cast@Base 1:21.1 + __gxx_personality_v0@Base 1:21.1 diff --git a/libclang-X.Y-dev.install.in b/libclang-X.Y-dev.install.in new file mode 100755 index 0000000000..1323d85f36 --- /dev/null +++ b/libclang-X.Y-dev.install.in @@ -0,0 +1,14 @@ +#!/usr/bin/dh-exec + +@LLVM_DIR@/include/clang +@LLVM_DIR@/include/clang-c +@LLVM_DIR@/include/clang-tidy +@LLVM_LIBDIR@/libclang*a +@LLVM_LIBDIR@/libclang.so +@LLVM_LIBDIR@/libclang-@LLVM_VERSION@*.so +@LLVM_LIBDIR@/libfindAllSymbols.a + +# clangd grpc architectures +#grpc [@CLANG_GRPC_ARCHS@] @LLVM_LIBDIR@/libclangdRemoteIndexProto.a +#grpc [@CLANG_GRPC_ARCHS@] @LLVM_LIBDIR@/libclangdRemoteIndexServiceProto.a +#grpc [@CLANG_GRPC_ARCHS@] @LLVM_LIBDIR@/libclangdMonitoringServiceProto.a diff --git a/libclang-X.Y-dev.links.in b/libclang-X.Y-dev.links.in new file mode 100644 index 0000000000..df0d04c128 --- /dev/null +++ b/libclang-X.Y-dev.links.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ @LLVM_LIBDIR@/libclang.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ @LLVM_LIBDIR@/libclang-@LLVM_VERSION@.so diff --git a/libclang-common-X.Y-dev.install.in b/libclang-common-X.Y-dev.install.in new file mode 100755 index 0000000000..c9548781c6 --- /dev/null +++ b/libclang-common-X.Y-dev.install.in @@ -0,0 +1,12 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/*.h +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/module.modulemap +[!hurd-any] @LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/xray/ +[!hurd-any] @LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/profile/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/ppc_wrappers/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/openmp_wrappers/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/cuda_wrappers/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/llvm_libc_wrappers/*.h +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/llvm_offload_wrappers/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/zos_wrappers/ diff --git a/libclang-common-X.Y-dev.links.in b/libclang-common-X.Y-dev.links.in new file mode 100644 index 0000000000..ebf16d864e --- /dev/null +++ b/libclang-common-X.Y-dev.links.in @@ -0,0 +1,7 @@ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/include usr/include/clang/@LLVM_VERSION@/include +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/include usr/lib/clang/@LLVM_VERSION@/include +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/lib usr/lib/clang/@LLVM_VERSION@/lib +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/include usr/include/clang/@LLVM_VERSION_FULL@/include +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/include usr/lib/clang/@LLVM_VERSION_FULL@/include +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/lib usr/lib/clang/@LLVM_VERSION_FULL@/lib + diff --git a/libclang-cppX.Y-dev.install.in b/libclang-cppX.Y-dev.install.in new file mode 100644 index 0000000000..c4dccd540b --- /dev/null +++ b/libclang-cppX.Y-dev.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libclang-cpp.so diff --git a/libclang-cppX.Y-dev.links.in b/libclang-cppX.Y-dev.links.in new file mode 100644 index 0000000000..16618c5c0a --- /dev/null +++ b/libclang-cppX.Y-dev.links.in @@ -0,0 +1,2 @@ +@LLVM_LIBDIR@/libclang-cpp.so /usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp@LLVM_VERSION@.so +@LLVM_LIBDIR@/libclang-cpp.so /@LLVM_DIR@/lib/libclang-cpp@LLVM_VERSION@.so diff --git a/libclang-cppX.Y.install.in b/libclang-cppX.Y.install.in new file mode 100644 index 0000000000..8990d71217 --- /dev/null +++ b/libclang-cppX.Y.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libclang-cpp.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libclang-cppX.Y.links.in b/libclang-cppX.Y.links.in new file mode 100644 index 0000000000..ab62a38ceb --- /dev/null +++ b/libclang-cppX.Y.links.in @@ -0,0 +1,2 @@ +# symlink from the LLVM libdir to the system libdir +usr/lib/@DEB_HOST_MULTIARCH@/libclang-cpp.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ @LLVM_LIBDIR@/libclang-cpp.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/libclang-cppX.Y.lintian-overrides.in b/libclang-cppX.Y.lintian-overrides.in new file mode 100644 index 0000000000..0038d625ca --- /dev/null +++ b/libclang-cppX.Y.lintian-overrides.in @@ -0,0 +1 @@ +libclang-cpp@LLVM_VERSION@: package-name-doesnt-match-sonames diff --git a/libclang-rt-X.Y-dev-wasm32.install.in b/libclang-rt-X.Y-dev-wasm32.install.in new file mode 100644 index 0000000000..ea7791784b --- /dev/null +++ b/libclang-rt-X.Y-dev-wasm32.install.in @@ -0,0 +1,2 @@ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a + diff --git a/libclang-rt-X.Y-dev-wasm32.lintian-overrides.in b/libclang-rt-X.Y-dev-wasm32.lintian-overrides.in new file mode 100644 index 0000000000..a388fc0b58 --- /dev/null +++ b/libclang-rt-X.Y-dev-wasm32.lintian-overrides.in @@ -0,0 +1,4 @@ +libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-independent-package-contains-binary-or-object *@LLVM_LIBDIR@/* +libclang-rt-@LLVM_VERSION@-dev-wasm32: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* +# wasm code +libclang-rt-@LLVM_VERSION@-dev-wasm32: no-code-sections *@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm32.a* diff --git a/libclang-rt-X.Y-dev-wasm64.install.in b/libclang-rt-X.Y-dev-wasm64.install.in new file mode 100644 index 0000000000..fb3c3b0054 --- /dev/null +++ b/libclang-rt-X.Y-dev-wasm64.install.in @@ -0,0 +1,2 @@ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a + diff --git a/libclang-rt-X.Y-dev-wasm64.lintian-overrides.in b/libclang-rt-X.Y-dev-wasm64.lintian-overrides.in new file mode 100644 index 0000000000..b055666908 --- /dev/null +++ b/libclang-rt-X.Y-dev-wasm64.lintian-overrides.in @@ -0,0 +1,4 @@ +libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-independent-package-contains-binary-or-object *@LLVM_LIBDIR@/* +libclang-rt-@LLVM_VERSION@-dev-wasm64: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* +# wasm code +libclang-rt-@LLVM_VERSION@-dev-wasm64: no-code-sections *@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/wasi/libclang_rt.builtins-wasm64.a* diff --git a/libclang-rt-X.Y-dev-win.install.in b/libclang-rt-X.Y-dev-win.install.in new file mode 100644 index 0000000000..48ed354e93 --- /dev/null +++ b/libclang-rt-X.Y-dev-win.install.in @@ -0,0 +1,2 @@ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/windows/libclang_rt.*.a + diff --git a/libclang-rt-X.Y-dev-win.lintian-overrides.in b/libclang-rt-X.Y-dev-win.lintian-overrides.in new file mode 100644 index 0000000000..b05fd702bc --- /dev/null +++ b/libclang-rt-X.Y-dev-win.lintian-overrides.in @@ -0,0 +1,4 @@ +libclang-rt-@LLVM_VERSION@-dev-win: arch-independent-package-contains-binary-or-object *@LLVM_LIBDIR@/* +libclang-rt-@LLVM_VERSION@-dev-win: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* + +libclang-rt-@LLVM_VERSION@-dev-win: no-code-sections *@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/windows/libclang_rt.*.a* diff --git a/libclang-rt-X.Y-dev.install.in b/libclang-rt-X.Y-dev.install.in new file mode 100755 index 0000000000..e36e6d21b9 --- /dev/null +++ b/libclang-rt-X.Y-dev.install.in @@ -0,0 +1,9 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/share/*.txt +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/sanitizer/ +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/*/*clang_rt* +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/README.txt +@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/fuzzer/ +[@RT_ORC_ARCHS@] @LLVM_LIBDIR@/clang/@LLVM_VERSION@*/include/orc/c_api.h +[@RT_ORC_ARCHS@] @LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/linux/liborc_rt* diff --git a/libclang-rt-X.Y-dev.lintian-overrides.in b/libclang-rt-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..83ee4bc328 --- /dev/null +++ b/libclang-rt-X.Y-dev.lintian-overrides.in @@ -0,0 +1,4 @@ +libclang-rt-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* +libclang-rt-@LLVM_VERSION@-dev: no-code-sections *@LLVM_LIBDIR@/clang/@LLVM_VERSION@*/lib/linux/libclang_rt.asan_static-i386.a* +libclang-rt-@LLVM_VERSION@-dev: binary-from-other-architecture +libclang-rt-@LLVM_VERSION@-dev: package-depends-on-multiple-libstdc-versions diff --git a/libclang1-X.Y.install.in b/libclang1-X.Y.install.in new file mode 100644 index 0000000000..ef20ef522a --- /dev/null +++ b/libclang1-X.Y.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libclang-@LLVM_VERSION@.so.2* /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libclang1-X.Y.links.in b/libclang1-X.Y.links.in new file mode 100644 index 0000000000..99d33aa6af --- /dev/null +++ b/libclang1-X.Y.links.in @@ -0,0 +1,6 @@ +# as upstream +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ @LLVM_LIBDIR@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ + +# FIXME: these are not installed by upstream, there are only libclang-19.so.19, libclang-19.1.0.so, libclang-19.so and libclang.so +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ @LLVM_LIBDIR@/libclang-@LLVM_VERSION@.so.1 diff --git a/libclang1-X.Y.lintian-overrides.in b/libclang1-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..4491049cb1 --- /dev/null +++ b/libclang1-X.Y.lintian-overrides.in @@ -0,0 +1,5 @@ +# I know and I am not planning to change that yet. +libclang1-@LLVM_VERSION@: package-name-doesnt-match-sonames libclang-@LLVM_VERSION@-@LLVM_VERSION@ +# Provided as transition +libclang1-@LLVM_VERSION@: dev-pkg-without-shlib-symlink usr/lib/*/libclang-@LLVM_VERSION@.so.1 usr/lib/*/libclang.so +libclang1-@LLVM_VERSION@: ldconfig-symlink-missing-for-shlib usr/lib/*/libclang-LLVM_VERSION@.so usr/lib/*/libclang-LLVM_VERSION@.so.1 libclang-LLVM_VERSION@.so diff --git a/libclang1-X.Y.symbols.in b/libclang1-X.Y.symbols.in new file mode 100644 index 0000000000..d3bfd4b654 --- /dev/null +++ b/libclang1-X.Y.symbols.in @@ -0,0 +1,7 @@ +libclang-@LLVM_VERSION@.so.@LLVM_VERSION@ #PACKAGE# #MINVER# + (symver)LLVM_13 1:15.0.7 + (symver)LLVM_16 1:16.0.2 + (symver)LLVM_17 1:17.0.1 + (symver)LLVM_19 1:19.1.6 + (symver)LLVM_20 1:20~ + (symver)LLVM_21 1:21.1.4 diff --git a/libclc-X.Y-dev.install.in b/libclc-X.Y-dev.install.in new file mode 100644 index 0000000000..aee9fc1478 --- /dev/null +++ b/libclc-X.Y-dev.install.in @@ -0,0 +1,2 @@ +usr/lib/pkgconfig/libclc.pc +libclc/check_external_calls.sh @LLVM_DIR@/share/libclc diff --git a/libclc-X.Y.install.in b/libclc-X.Y.install.in new file mode 100644 index 0000000000..923094ff0c --- /dev/null +++ b/libclc-X.Y.install.in @@ -0,0 +1,2 @@ +usr/lib/clc/*.bc +#spv usr/lib/clc/*.spv diff --git a/libflang-X.Y-dev.install.in b/libflang-X.Y-dev.install.in new file mode 100644 index 0000000000..9d41e83f27 --- /dev/null +++ b/libflang-X.Y-dev.install.in @@ -0,0 +1,11 @@ +@LLVM_LIBDIR@/cmake/flang/ +@LLVM_DIR@/include/flang/ +@LLVM_LIBDIR@/libflang*.a +@LLVM_LIBDIR@/libflangFrontendTool.a +@LLVM_LIBDIR@/libFlangOpenMPTransforms.a +@LLVM_LIBDIR@/libFIR*.a +@LLVM_LIBDIR@/libHLFIR*.a +@LLVM_LIBDIR@/libFortran*.a +@LLVM_LIBDIR@/libCUF*.a + +@LLVM_LIBDIR@/clang/@LLVM_VERSION@/lib/*/libflang_rt.runtime.a diff --git a/liblld-X.Y-dev.install.in b/liblld-X.Y-dev.install.in new file mode 100644 index 0000000000..14c619beee --- /dev/null +++ b/liblld-X.Y-dev.install.in @@ -0,0 +1,2 @@ +@LLVM_DIR@/include/lld +@LLVM_LIBDIR@/cmake/lld/*.cmake diff --git a/liblld-X.Y.install.in b/liblld-X.Y.install.in new file mode 100644 index 0000000000..bace400157 --- /dev/null +++ b/liblld-X.Y.install.in @@ -0,0 +1,7 @@ +#@LLVM_LIBDIR@/liblld-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/liblldELF.a +@LLVM_LIBDIR@/liblldMachO.a +@LLVM_LIBDIR@/liblldCOFF.a +@LLVM_LIBDIR@/liblldMinGW.a +@LLVM_LIBDIR@/liblldCommon.a +@LLVM_LIBDIR@/liblldWasm.a diff --git a/liblld-X.Y.links.in b/liblld-X.Y.links.in new file mode 100644 index 0000000000..c7ce7f7d3a --- /dev/null +++ b/liblld-X.Y.links.in @@ -0,0 +1,3 @@ +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so usr/lib/python3/dist-packages/lld-@LLVM_VERSION@/_lld.so +#usr/lib/@DEB_HOST_MULTIARCH@/liblld-@LLVM_VERSION@.so.1 @LLVM_LIBDIR@/liblld.so.1 diff --git a/liblldb-X.Y-dev.install.in b/liblldb-X.Y-dev.install.in new file mode 100644 index 0000000000..0ab3783f2a --- /dev/null +++ b/liblldb-X.Y-dev.install.in @@ -0,0 +1,3 @@ +/@LLVM_DIR@/include/lldb +#/@LLVM_LIBDIR@/liblldb*a +/@LLVM_LIBDIR@/liblldb*so diff --git a/liblldb-X.Y-dev.links.in b/liblldb-X.Y-dev.links.in new file mode 100644 index 0000000000..b649535d38 --- /dev/null +++ b/liblldb-X.Y-dev.links.in @@ -0,0 +1,4 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so + +@LLVM_LIBDIR@/liblldb.so.1 @LLVM_LIBDIR@/liblldb-@LLVM_VERSION@.so +@LLVM_LIBDIR@/liblldb.so.1 @LLVM_LIBDIR@/liblldb.so diff --git a/liblldb-X.Y.install.in b/liblldb-X.Y.install.in new file mode 100644 index 0000000000..6017fa6486 --- /dev/null +++ b/liblldb-X.Y.install.in @@ -0,0 +1,3 @@ +@LLVM_LIBDIR@/liblldb-@LLVM_VERSION@.so.1 /usr/lib/@DEB_HOST_MULTIARCH@/ + +@LLVM_LIBDIR@/liblldbIntelFeatures.so.* diff --git a/liblldb-X.Y.links.in b/liblldb-X.Y.links.in new file mode 100644 index 0000000000..ce4c1622e8 --- /dev/null +++ b/liblldb-X.Y.links.in @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 @LLVM_LIBDIR@/liblldb-@LLVM_VERSION@.so.1 +@LLVM_LIBDIR@/liblldb-@LLVM_VERSION@.so.1 @LLVM_LIBDIR@/liblldb.so.1 diff --git a/liblldb-X.Y.lintian-overrides.in b/liblldb-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..fc023c6d97 --- /dev/null +++ b/liblldb-X.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# That is normal. The lib is not (yet?) shipped as a new package +liblldb-@LLVM_VERSION@: package-name-doesnt-match-sonames liblldb-@LLVM_VERSION@-1 diff --git a/libllvm-X.Y-ocaml-dev.META.in b/libllvm-X.Y-ocaml-dev.META.in new file mode 100644 index 0000000000..366820d9ce --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.META.in @@ -0,0 +1,63 @@ +description = "Low Level Virtual Machine bindings" +version = "@LLVM_VERSION@" + +directory = "+llvm-@LLVM_VERSION@" + +archive(byte) = "llvm.cma" +archive(native) = "llvm.cmxa" +linkopts = "-cclib -lstdc++ -cclib -lllvm" + +package "executionengine" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_executionengine.cmxa" + archive(byte) = "llvm_executionengine.cma" + linkopts = "-cclib -lllvm_executionengine" +) + +package "target" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_target.cmxa" + archive(byte) = "llvm_target.cma" + linkopts = "-cclib -lllvm_target" +) + +package "scalar_opts" +( + requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.target" + version = "@LLVM_VERSION@" + archive(native) = "llvm_scalar_opts.cmxa" + archive(byte) = "llvm_scalar_opts.cma" + linkopts = "-cclib -lllvm_scalar_opts" +) + +package "analysis" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_analysis.cmxa" + archive(byte) = "llvm_analysis.cma" + linkopts = "-cclib -lllvm_analysis" +) + +package "bitwriter" +( + requires = "llvm-@LLVM_VERSION@" + version = "@LLVM_VERSION@" + archive(native) = "llvm_bitwriter.cmxa" + archive(byte) = "llvm_bitwriter.cma" + linkopts = "-cclib -lllvm_bitwriter" +) + +package "bitreader" +( + requires = "llvm-@LLVM_VERSION@ llvm-@LLVM_VERSION@.bitwriter" + version = "@LLVM_VERSION@" + archive(native) = "llvm_bitreader.cmxa" + archive(byte) = "llvm_bitreader.cma" + linkopts = "-cclib -lllvm_bitreader" +) + diff --git a/libllvm-X.Y-ocaml-dev.dirs.in b/libllvm-X.Y-ocaml-dev.dirs.in new file mode 100644 index 0000000000..6c9c7364a6 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.dirs.in @@ -0,0 +1,2 @@ +@OCAML_STDLIB_DIR@/META/ + diff --git a/libllvm-X.Y-ocaml-dev.install.in b/libllvm-X.Y-ocaml-dev.install.in new file mode 100644 index 0000000000..9d3c65de49 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.install.in @@ -0,0 +1,3 @@ +@OCAML_STDLIB_DIR@ +@LLVM_DIR@/share/doc/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ +@LLVM_DIR@/share/doc/LLVM/llvm/ocaml-html/ usr/share/doc/libllvm-@LLVM_VERSION@-ocaml-dev/ diff --git a/libllvm-X.Y-ocaml-dev.lintian-overrides.in b/libllvm-X.Y-ocaml-dev.lintian-overrides.in new file mode 100644 index 0000000000..5d25d44252 --- /dev/null +++ b/libllvm-X.Y-ocaml-dev.lintian-overrides.in @@ -0,0 +1,2 @@ +# It is in the section ocaml which is fine. +libllvm-@LLVM_VERSION@-ocaml-dev: wrong-section-according-to-package-name libllvm-@LLVM_VERSION@-ocaml-dev => libdevel diff --git a/libllvmX.Y.install.in b/libllvmX.Y.install.in new file mode 100644 index 0000000000..69485e9eb4 --- /dev/null +++ b/libllvmX.Y.install.in @@ -0,0 +1,7 @@ +# install everything in /usr/lib/@DEB_HOST_MULTIARCH@/ + +# this is libLLVM.so.1, renamed to it's soname in the override_dh_install target +@LLVM_LIBDIR@/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/ + +# this is a symlink installed by upstream +@LLVM_LIBDIR@/libLLVM-@LLVM_VERSION@.so /usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libllvmX.Y.links.in b/libllvmX.Y.links.in new file mode 100644 index 0000000000..3573f38e6b --- /dev/null +++ b/libllvmX.Y.links.in @@ -0,0 +1,3 @@ +# provide symlinks in the LLVM subdir + +# no symlinks in the LLVM subdir, the package is M-A: same diff --git a/libllvmX.Y.lintian-overrides.in b/libllvmX.Y.lintian-overrides.in new file mode 100644 index 0000000000..1cf668f484 --- /dev/null +++ b/libllvmX.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# That is normal. Upstream does not match the debian convention +libllvm@LLVM_VERSION@: package-name-doesnt-match-sonames diff --git a/libllvmlibc-X.Y-dev.install.in b/libllvmlibc-X.Y-dev.install.in new file mode 100644 index 0000000000..ef3a7fda19 --- /dev/null +++ b/libllvmlibc-X.Y-dev.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libllvmlibc.a diff --git a/libmlir-X.Y-dev.install.in b/libmlir-X.Y-dev.install.in new file mode 100644 index 0000000000..6d4300b61e --- /dev/null +++ b/libmlir-X.Y-dev.install.in @@ -0,0 +1,9 @@ +@LLVM_DIR@/include/mlir-c/ +@LLVM_DIR@/include/mlir/ +@LLVM_LIBDIR@/cmake/mlir/ + +@LLVM_LIBDIR@/libMLIR.so +@LLVM_LIBDIR@/libMLIR*.a +@LLVM_LIBDIR@/libmlir*.so +#@LLVM_LIBDIR@/libmlir_*.a +@LLVM_LIBDIR@/libMLIRExecutionEngineShared.so diff --git a/libmlir-X.Y-dev.lintian-overrides.in b/libmlir-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..8292b9c86c --- /dev/null +++ b/libmlir-X.Y-dev.lintian-overrides.in @@ -0,0 +1 @@ +libmlir-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* diff --git a/libmlir-X.Y.install.in b/libmlir-X.Y.install.in new file mode 100644 index 0000000000..36defb0292 --- /dev/null +++ b/libmlir-X.Y.install.in @@ -0,0 +1,3 @@ +@LLVM_LIBDIR@/libMLIR.so.* +@LLVM_LIBDIR@/libmlir*.so.* +@LLVM_LIBDIR@/libMLIRExecutionEngineShared.so.* diff --git a/libmlir-X.Y.lintian-overrides.in b/libmlir-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..af99e03b0a --- /dev/null +++ b/libmlir-X.Y.lintian-overrides.in @@ -0,0 +1 @@ +libmlir-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/* diff --git a/liboffload-X.Y-dev.install.in b/liboffload-X.Y-dev.install.in new file mode 100755 index 0000000000..6ae661e1b7 --- /dev/null +++ b/liboffload-X.Y-dev.install.in @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +@LLVM_DIR@/bin/llvm-offload-device-info +@LLVM_DIR@/bin/llvm-omp-kernel-replay + +usr/bin/llvm-offload-device-info-@LLVM_VERSION@ +usr/bin/llvm-omp-kernel-replay-@LLVM_VERSION@ + +@LLVM_LIBDIR@/*/libompdevice.a +@LLVM_LIBDIR@/*/libomptarget-*.bc +@LLVM_LIBDIR@/libomptarget.so + +@LLVM_DIR@/include/offload/OffloadAPI.h +@LLVM_DIR@/include/offload/OffloadPrint.hpp +@LLVM_LIBDIR@/libLLVMOffload.so diff --git a/liboffload-X.Y-dev.links.in b/liboffload-X.Y-dev.links.in new file mode 100644 index 0000000000..9e39d2857e --- /dev/null +++ b/liboffload-X.Y-dev.links.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libomptarget.so usr/lib/@DEB_HOST_MULTIARCH@/libomptarget.so diff --git a/liboffload-X.Y-dev.lintian-overrides.in b/liboffload-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..57a73be088 --- /dev/null +++ b/liboffload-X.Y-dev.lintian-overrides.in @@ -0,0 +1,2 @@ +liboffload-@LLVM_VERSION@-dev: no-code-sections +liboffload-@LLVM_VERSION@-dev: no-manual-page diff --git a/liboffload-X.Y.install.in b/liboffload-X.Y.install.in new file mode 100755 index 0000000000..5a5df7ae69 --- /dev/null +++ b/liboffload-X.Y.install.in @@ -0,0 +1,6 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libLLVMOffload.so.@LLVM_VERSION@.1 + +# OFFLOAD_ARCHS + mips64el, but why? +[@OFFLOAD_ARCHS@ mips64el] @LLVM_LIBDIR@/libomptarget*.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/liboffload-X.Y.links.in b/liboffload-X.Y.links.in new file mode 100755 index 0000000000..7005e16209 --- /dev/null +++ b/liboffload-X.Y.links.in @@ -0,0 +1,4 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libLLVMOffload.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/libLLVMOffload.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ +@LLVM_LIBDIR@/libomptarget.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ /usr/lib/@DEB_HOST_MULTIARCH@/libomptarget.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/liboffload-X.Y.lintian-overrides.in b/liboffload-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..2c1659fff5 --- /dev/null +++ b/liboffload-X.Y.lintian-overrides.in @@ -0,0 +1 @@ +liboffload-@LLVM_VERSION@: arch-dependent-file-not-in-arch-specific-directory [@LLVM_LIBDIR@/libLLVMOffload.so.@LLVM_VERSION@.0] diff --git a/liboffload-X.Y.symbols.in b/liboffload-X.Y.symbols.in new file mode 100755 index 0000000000..e921a0de01 --- /dev/null +++ b/liboffload-X.Y.symbols.in @@ -0,0 +1,5 @@ +#! /usr/bin/dh-exec +libLLVMOffload.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ #PACKAGE# #MINVER# + (symver)VERS1.0 1:21 +libomptarget.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ #PACKAGE# #MINVER# + (symver)VERS1.0 1:21 diff --git a/libomp-X.Y-dev.install.in b/libomp-X.Y-dev.install.in new file mode 100755 index 0000000000..4660550a4c --- /dev/null +++ b/libomp-X.Y-dev.install.in @@ -0,0 +1,17 @@ +#!/usr/bin/dh-exec + +/@LLVM_LIBDIR@/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/ +/@LLVM_LIBDIR@/libiomp5.so usr/lib/@DEB_HOST_MULTIARCH@/ +# Rationale for these two? +/@LLVM_LIBDIR@/libgomp.so.1 +/@LLVM_LIBDIR@/libgomp.so + +[@OMPD_ARCHS@] /@LLVM_LIBDIR@/libompd.so + +/@LLVM_LIBDIR@/clang/@LLVM_VERSION@/include/omp*.h +[@OMPD_ARCHS@] /@LLVM_LIBDIR@/libarcher_static.a +[@OMPD_ARCHS@] /@LLVM_LIBDIR@/libarcher.so + +@LLVM_LIBDIR@/cmake/openmp/*.cmake + +[@OMPD_ARCHS@] @LLVM_DIR@/share/gdb/python/ompd/ diff --git a/libomp-X.Y-dev.links.in b/libomp-X.Y-dev.links.in new file mode 100644 index 0000000000..abee953937 --- /dev/null +++ b/libomp-X.Y-dev.links.in @@ -0,0 +1,17 @@ +# links inside /usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/@DEB_HOST_MULTIARCH@/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/libomp.so +# FIXME: why these names libomp5 and libiomp5? +usr/lib/@DEB_HOST_MULTIARCH@/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libomp5.so +usr/lib/@DEB_HOST_MULTIARCH@/libomp.so usr/lib/@DEB_HOST_MULTIARCH@/libiomp5.so + +# links from LLVM libdir to /usr/lib/@DEB_HOST_MULTIARCH@ +# this one is now in the runtime package to make it M-A: same +usr/lib/x86_64-linux-gnu/libomp.so.5 @LLVM_LIBDIR@/libomp.so.5 + +# links inside LLVM libdir +@LLVM_LIBDIR@/libomp.so.5 @LLVM_DIR@/lib/libomp.so +@LLVM_LIBDIR@/libomp.so @LLVM_DIR@/lib/libomp5.so +@LLVM_LIBDIR@/libomp.so @LLVM_DIR@/lib/libiomp5.so + +# Rationale for this one? +@LLVM_LIBDIR@/libgomp.so.1 @LLVM_DIR@/lib/libgomp.so diff --git a/libomp-X.Y-doc.docs.in b/libomp-X.Y-doc.docs.in new file mode 100644 index 0000000000..fbb48ae030 --- /dev/null +++ b/libomp-X.Y-doc.docs.in @@ -0,0 +1 @@ +openmp/runtime/doc/doxygen/generated/html/ diff --git a/libomp5.install.in b/libomp5.install.in new file mode 100755 index 0000000000..f543289ced --- /dev/null +++ b/libomp5.install.in @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libomp.so.5 usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/libomp5.links.in b/libomp5.links.in new file mode 100755 index 0000000000..bc6b77a98a --- /dev/null +++ b/libomp5.links.in @@ -0,0 +1,2 @@ +#!/usr/bin/dh-exec +# M-A: same: the links from the LLVM libdir to /usr/lib go to the -dev package diff --git a/libomp5.symbols b/libomp5.symbols new file mode 100644 index 0000000000..529f9d9e7e --- /dev/null +++ b/libomp5.symbols @@ -0,0 +1,957 @@ +# SymbolsHelper-Confirmed: 1:21.1.5 amd64 arm64 armhf hurd-amd64 i386 loong64 ppc64 ppc64el riscv64 +libomp.so.5 #PACKAGE# #MINVER# + (symver)GOMP_1.0 0.20131209 + (symver)GOMP_2.0 0.20131209 + (symver)GOMP_3.0 0.20131209 + (symver)GOMP_4.0 0.20131209 + (symver)GOMP_4.5 1:7 + (symver)GOMP_5.0 1:11 + (symver)GOMP_5.0.1 1:14 + (symver)OMP_1.0 0.20131209 + (symver)OMP_2.0 0.20131209 + (symver)OMP_3.0 0.20131209 + (symver)OMP_3.1 0.20131209 + (symver)OMP_4.0 0.20131209 + (symver)OMP_4.5 1:7 + (symver)OMP_5.0 1:13 + (arch=!amd64)VERSION@VERSION 1:21.1.5 + GOMP_alloc@VERSION 1:21.1 + GOMP_atomic_end@VERSION 1:21.1 + GOMP_atomic_start@VERSION 1:21.1 + GOMP_barrier@VERSION 1:21.1 + GOMP_barrier_cancel@VERSION 1:21.1 + GOMP_cancel@VERSION 1:21.1 + GOMP_cancellation_point@VERSION 1:21.1 + GOMP_critical_end@VERSION 1:21.1 + GOMP_critical_name_end@VERSION 1:21.1 + GOMP_critical_name_start@VERSION 1:21.1 + GOMP_critical_start@VERSION 1:21.1 + GOMP_doacross_post@VERSION 1:21.1 + GOMP_doacross_ull_post@VERSION 1:21.1 + GOMP_doacross_ull_wait@VERSION 1:21.1 + GOMP_doacross_wait@VERSION 1:21.1 + GOMP_free@VERSION 1:21.1 + GOMP_loop_doacross_dynamic_start@VERSION 1:21.1 + GOMP_loop_doacross_guided_start@VERSION 1:21.1 + GOMP_loop_doacross_runtime_start@VERSION 1:21.1 + GOMP_loop_doacross_start@VERSION 1:21.1 + GOMP_loop_doacross_static_start@VERSION 1:21.1 + GOMP_loop_dynamic_next@VERSION 1:21.1 + GOMP_loop_dynamic_start@VERSION 1:21.1 + GOMP_loop_end@VERSION 1:21.1 + GOMP_loop_end_cancel@VERSION 1:21.1 + GOMP_loop_end_nowait@VERSION 1:21.1 + GOMP_loop_guided_next@VERSION 1:21.1 + GOMP_loop_guided_start@VERSION 1:21.1 + GOMP_loop_maybe_nonmonotonic_runtime_next@VERSION 1:21.1 + GOMP_loop_maybe_nonmonotonic_runtime_start@VERSION 1:21.1 + GOMP_loop_nonmonotonic_dynamic_next@VERSION 1:21.1 + GOMP_loop_nonmonotonic_dynamic_start@VERSION 1:21.1 + GOMP_loop_nonmonotonic_guided_next@VERSION 1:21.1 + GOMP_loop_nonmonotonic_guided_start@VERSION 1:21.1 + GOMP_loop_nonmonotonic_runtime_next@VERSION 1:21.1 + GOMP_loop_nonmonotonic_runtime_start@VERSION 1:21.1 + GOMP_loop_ordered_dynamic_next@VERSION 1:21.1 + GOMP_loop_ordered_dynamic_start@VERSION 1:21.1 + GOMP_loop_ordered_guided_next@VERSION 1:21.1 + GOMP_loop_ordered_guided_start@VERSION 1:21.1 + GOMP_loop_ordered_runtime_next@VERSION 1:21.1 + GOMP_loop_ordered_runtime_start@VERSION 1:21.1 + GOMP_loop_ordered_start@VERSION 1:21.1 + GOMP_loop_ordered_static_next@VERSION 1:21.1 + GOMP_loop_ordered_static_start@VERSION 1:21.1 + GOMP_loop_runtime_next@VERSION 1:21.1 + GOMP_loop_runtime_start@VERSION 1:21.1 + GOMP_loop_start@VERSION 1:21.1 + GOMP_loop_static_next@VERSION 1:21.1 + GOMP_loop_static_start@VERSION 1:21.1 + GOMP_loop_ull_doacross_dynamic_start@VERSION 1:21.1 + GOMP_loop_ull_doacross_guided_start@VERSION 1:21.1 + GOMP_loop_ull_doacross_runtime_start@VERSION 1:21.1 + GOMP_loop_ull_doacross_start@VERSION 1:21.1 + GOMP_loop_ull_doacross_static_start@VERSION 1:21.1 + GOMP_loop_ull_dynamic_next@VERSION 1:21.1 + GOMP_loop_ull_dynamic_start@VERSION 1:21.1 + GOMP_loop_ull_guided_next@VERSION 1:21.1 + GOMP_loop_ull_guided_start@VERSION 1:21.1 + GOMP_loop_ull_maybe_nonmonotonic_runtime_next@VERSION 1:21.1 + GOMP_loop_ull_maybe_nonmonotonic_runtime_start@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_dynamic_next@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_dynamic_start@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_guided_next@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_guided_start@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_runtime_next@VERSION 1:21.1 + GOMP_loop_ull_nonmonotonic_runtime_start@VERSION 1:21.1 + GOMP_loop_ull_ordered_dynamic_next@VERSION 1:21.1 + GOMP_loop_ull_ordered_dynamic_start@VERSION 1:21.1 + GOMP_loop_ull_ordered_guided_next@VERSION 1:21.1 + GOMP_loop_ull_ordered_guided_start@VERSION 1:21.1 + GOMP_loop_ull_ordered_runtime_next@VERSION 1:21.1 + GOMP_loop_ull_ordered_runtime_start@VERSION 1:21.1 + GOMP_loop_ull_ordered_start@VERSION 1:21.1 + GOMP_loop_ull_ordered_static_next@VERSION 1:21.1 + GOMP_loop_ull_ordered_static_start@VERSION 1:21.1 + GOMP_loop_ull_runtime_next@VERSION 1:21.1 + GOMP_loop_ull_runtime_start@VERSION 1:21.1 + GOMP_loop_ull_start@VERSION 1:21.1 + GOMP_loop_ull_static_next@VERSION 1:21.1 + GOMP_loop_ull_static_start@VERSION 1:21.1 + GOMP_ordered_end@VERSION 1:21.1 + GOMP_ordered_start@VERSION 1:21.1 + GOMP_parallel@VERSION 1:21.1 + GOMP_parallel_end@VERSION 1:21.1 + GOMP_parallel_loop_dynamic@VERSION 1:21.1 + GOMP_parallel_loop_dynamic_start@VERSION 1:21.1 + GOMP_parallel_loop_guided@VERSION 1:21.1 + GOMP_parallel_loop_guided_start@VERSION 1:21.1 + GOMP_parallel_loop_maybe_nonmonotonic_runtime@VERSION 1:21.1 + GOMP_parallel_loop_nonmonotonic_dynamic@VERSION 1:21.1 + GOMP_parallel_loop_nonmonotonic_guided@VERSION 1:21.1 + GOMP_parallel_loop_nonmonotonic_runtime@VERSION 1:21.1 + GOMP_parallel_loop_runtime@VERSION 1:21.1 + GOMP_parallel_loop_runtime_start@VERSION 1:21.1 + GOMP_parallel_loop_static@VERSION 1:21.1 + GOMP_parallel_loop_static_start@VERSION 1:21.1 + GOMP_parallel_reductions@VERSION 1:21.1 + GOMP_parallel_sections@VERSION 1:21.1 + GOMP_parallel_sections_start@VERSION 1:21.1 + GOMP_parallel_start@VERSION 1:21.1 + GOMP_sections2_start@VERSION 1:21.1 + GOMP_sections_end@VERSION 1:21.1 + GOMP_sections_end_cancel@VERSION 1:21.1 + GOMP_sections_end_nowait@VERSION 1:21.1 + GOMP_sections_next@VERSION 1:21.1 + GOMP_sections_start@VERSION 1:21.1 + GOMP_single_copy_end@VERSION 1:21.1 + GOMP_single_copy_start@VERSION 1:21.1 + GOMP_single_start@VERSION 1:21.1 + GOMP_target@VERSION 1:21.1 + GOMP_target_data@VERSION 1:21.1 + GOMP_target_end_data@VERSION 1:21.1 + GOMP_target_update@VERSION 1:21.1 + GOMP_task@VERSION 1:21.1 + GOMP_task_reduction_remap@VERSION 1:21.1 + GOMP_taskgroup_end@VERSION 1:21.1 + GOMP_taskgroup_reduction_register@VERSION 1:21.1 + GOMP_taskgroup_reduction_unregister@VERSION 1:21.1 + GOMP_taskgroup_start@VERSION 1:21.1 + GOMP_taskloop@VERSION 1:21.1 + GOMP_taskloop_ull@VERSION 1:21.1 + GOMP_taskwait@VERSION 1:21.1 + GOMP_taskwait_depend@VERSION 1:21.1 + GOMP_taskyield@VERSION 1:21.1 + GOMP_teams@VERSION 1:21.1 + GOMP_teams_reg@VERSION 1:21.1 + GOMP_workshare_task_reduction_unregister@VERSION 1:21.1 + ___kmp_allocate@VERSION 1:21.1 + ___kmp_free@VERSION 1:21.1 + __kmp_acquire_drdpa_lock@VERSION 1:21.1 + __kmp_acquire_nested_drdpa_lock@VERSION 1:21.1 + __kmp_acquire_nested_queuing_lock@VERSION 1:21.1 + __kmp_acquire_nested_tas_lock@VERSION 1:21.1 + __kmp_acquire_nested_ticket_lock@VERSION 1:21.1 + __kmp_acquire_queuing_lock@VERSION 1:21.1 + __kmp_acquire_tas_lock@VERSION 1:21.1 + __kmp_acquire_ticket_lock@VERSION 1:21.1 + __kmp_debugging@VERSION 1:21.1 + __kmp_fork_call@VERSION 1:21.1 + __kmp_get_reduce_method@VERSION 1:21.1 + __kmp_invoke_microtask@VERSION 1:21.1 + __kmp_itt_fini_ittlib@VERSION 1:21.1 + __kmp_itt_init_ittlib@VERSION 1:21.1 + __kmp_omp_debug_struct_info@VERSION 1:21.1 + __kmp_reap_monitor@VERSION 1:21.1 + __kmp_reap_worker@VERSION 1:21.1 + __kmp_release_64@VERSION 1:21.1 + __kmp_reset_stats@VERSION 1:21.1 + __kmp_thread_pool@VERSION 1:21.1 + __kmp_wait_4@VERSION 1:21.1 + __kmp_wait_64@VERSION 1:21.1 + __kmpc_aligned_alloc@VERSION 1:21.1 + __kmpc_alloc@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_10@VERSION 1:21.1.5 + __kmpc_atomic_16@VERSION 1:21.1 + __kmpc_atomic_1@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_20@VERSION 1:21.1.5 + __kmpc_atomic_2@VERSION 1:21.1 + __kmpc_atomic_32@VERSION 1:21.1 + __kmpc_atomic_4@VERSION 1:21.1 + __kmpc_atomic_8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_1_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_1_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_2_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_2_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_4_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_4_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_8_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_bool_8_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_add@VERSION 1:21.1.5 + __kmpc_atomic_cmplx10_add_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_div@VERSION 1:21.1.5 + __kmpc_atomic_cmplx10_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_div_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_mul@VERSION 1:21.1.5 + __kmpc_atomic_cmplx10_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_cmplx10_rd@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_sub@VERSION 1:21.1.5 + __kmpc_atomic_cmplx10_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx10_swp@VERSION 1:21.1.5 + __kmpc_atomic_cmplx10_wr@VERSION 1:21.1 + __kmpc_atomic_cmplx4_add@VERSION 1:21.1 + __kmpc_atomic_cmplx4_add_cmplx8@VERSION 1:21.1 + __kmpc_atomic_cmplx4_add_cpt@VERSION 1:21.1 + __kmpc_atomic_cmplx4_div@VERSION 1:21.1 + __kmpc_atomic_cmplx4_div_cmplx8@VERSION 1:21.1 + __kmpc_atomic_cmplx4_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx4_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx4_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_cmplx4_mul@VERSION 1:21.1 + __kmpc_atomic_cmplx4_mul_cmplx8@VERSION 1:21.1 + __kmpc_atomic_cmplx4_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_cmplx4_rd@VERSION 1:21.1 + __kmpc_atomic_cmplx4_sub@VERSION 1:21.1 + __kmpc_atomic_cmplx4_sub_cmplx8@VERSION 1:21.1 + __kmpc_atomic_cmplx4_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx4_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx4_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx4_swp@VERSION 1:21.1.5 + __kmpc_atomic_cmplx4_wr@VERSION 1:21.1 + __kmpc_atomic_cmplx8_add@VERSION 1:21.1 + __kmpc_atomic_cmplx8_add_cpt@VERSION 1:21.1 + __kmpc_atomic_cmplx8_div@VERSION 1:21.1 + __kmpc_atomic_cmplx8_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx8_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx8_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_cmplx8_mul@VERSION 1:21.1 + __kmpc_atomic_cmplx8_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_cmplx8_rd@VERSION 1:21.1 + __kmpc_atomic_cmplx8_sub@VERSION 1:21.1 + __kmpc_atomic_cmplx8_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx8_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx8_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_cmplx8_swp@VERSION 1:21.1.5 + __kmpc_atomic_cmplx8_wr@VERSION 1:21.1 + __kmpc_atomic_end@VERSION 1:21.1 + __kmpc_atomic_fixed1_add@VERSION 1:21.1 + __kmpc_atomic_fixed1_add_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_andb@VERSION 1:21.1 + __kmpc_atomic_fixed1_andb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_andl@VERSION 1:21.1 + __kmpc_atomic_fixed1_andl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_div@VERSION 1:21.1 + __kmpc_atomic_fixed1_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_div_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed1_div_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed1_eqv@VERSION 1:21.1 + __kmpc_atomic_fixed1_eqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_max@VERSION 1:21.1 + __kmpc_atomic_fixed1_max_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_min@VERSION 1:21.1 + __kmpc_atomic_fixed1_min_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_mul@VERSION 1:21.1 + __kmpc_atomic_fixed1_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_mul_float8@VERSION 1:21.1 + __kmpc_atomic_fixed1_neqv@VERSION 1:21.1 + __kmpc_atomic_fixed1_neqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_orb@VERSION 1:21.1 + __kmpc_atomic_fixed1_orb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_orl@VERSION 1:21.1 + __kmpc_atomic_fixed1_orl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1_rd@VERSION 1:21.1 + __kmpc_atomic_fixed1_shl@VERSION 1:21.1 + __kmpc_atomic_fixed1_shl_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_shl_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_shl_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed1_shr@VERSION 1:21.1 + __kmpc_atomic_fixed1_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed1_sub@VERSION 1:21.1 + __kmpc_atomic_fixed1_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1_swp@VERSION 1:21.1.5 + __kmpc_atomic_fixed1_wr@VERSION 1:21.1 + __kmpc_atomic_fixed1_xor@VERSION 1:21.1 + __kmpc_atomic_fixed1_xor_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed1u_div@VERSION 1:21.1 + __kmpc_atomic_fixed1u_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1u_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1u_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed1u_shr@VERSION 1:21.1 + __kmpc_atomic_fixed1u_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1u_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed1u_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_add@VERSION 1:21.1 + __kmpc_atomic_fixed2_add_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_andb@VERSION 1:21.1 + __kmpc_atomic_fixed2_andb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_andl@VERSION 1:21.1 + __kmpc_atomic_fixed2_andl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_div@VERSION 1:21.1 + __kmpc_atomic_fixed2_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_div_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_div_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_eqv@VERSION 1:21.1 + __kmpc_atomic_fixed2_eqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_max@VERSION 1:21.1 + __kmpc_atomic_fixed2_max_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_min@VERSION 1:21.1 + __kmpc_atomic_fixed2_min_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_mul@VERSION 1:21.1 + __kmpc_atomic_fixed2_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_mul_float8@VERSION 1:21.1 + __kmpc_atomic_fixed2_neqv@VERSION 1:21.1 + __kmpc_atomic_fixed2_neqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_orb@VERSION 1:21.1 + __kmpc_atomic_fixed2_orb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_orl@VERSION 1:21.1 + __kmpc_atomic_fixed2_orl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2_rd@VERSION 1:21.1 + __kmpc_atomic_fixed2_shl@VERSION 1:21.1 + __kmpc_atomic_fixed2_shl_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_shl_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_shl_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_shr@VERSION 1:21.1 + __kmpc_atomic_fixed2_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_sub@VERSION 1:21.1 + __kmpc_atomic_fixed2_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2_swp@VERSION 1:21.1.5 + __kmpc_atomic_fixed2_wr@VERSION 1:21.1 + __kmpc_atomic_fixed2_xor@VERSION 1:21.1 + __kmpc_atomic_fixed2_xor_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed2u_div@VERSION 1:21.1 + __kmpc_atomic_fixed2u_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2u_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2u_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed2u_shr@VERSION 1:21.1 + __kmpc_atomic_fixed2u_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2u_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed2u_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_add@VERSION 1:21.1 + __kmpc_atomic_fixed4_add_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_andb@VERSION 1:21.1 + __kmpc_atomic_fixed4_andb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_andl@VERSION 1:21.1 + __kmpc_atomic_fixed4_andl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_div@VERSION 1:21.1 + __kmpc_atomic_fixed4_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_div_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_div_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_eqv@VERSION 1:21.1 + __kmpc_atomic_fixed4_eqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_max@VERSION 1:21.1 + __kmpc_atomic_fixed4_max_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_min@VERSION 1:21.1 + __kmpc_atomic_fixed4_min_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_mul@VERSION 1:21.1 + __kmpc_atomic_fixed4_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_mul_float8@VERSION 1:21.1 + __kmpc_atomic_fixed4_neqv@VERSION 1:21.1 + __kmpc_atomic_fixed4_neqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_orb@VERSION 1:21.1 + __kmpc_atomic_fixed4_orb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_orl@VERSION 1:21.1 + __kmpc_atomic_fixed4_orl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4_rd@VERSION 1:21.1 + __kmpc_atomic_fixed4_shl@VERSION 1:21.1 + __kmpc_atomic_fixed4_shl_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_shl_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_shl_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_shr@VERSION 1:21.1 + __kmpc_atomic_fixed4_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_sub@VERSION 1:21.1 + __kmpc_atomic_fixed4_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4_swp@VERSION 1:21.1.5 + __kmpc_atomic_fixed4_wr@VERSION 1:21.1 + __kmpc_atomic_fixed4_xor@VERSION 1:21.1 + __kmpc_atomic_fixed4_xor_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed4u_div@VERSION 1:21.1 + __kmpc_atomic_fixed4u_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4u_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4u_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed4u_shr@VERSION 1:21.1 + __kmpc_atomic_fixed4u_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4u_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed4u_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_add@VERSION 1:21.1 + __kmpc_atomic_fixed8_add_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_andb@VERSION 1:21.1 + __kmpc_atomic_fixed8_andb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_andl@VERSION 1:21.1 + __kmpc_atomic_fixed8_andl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_div@VERSION 1:21.1 + __kmpc_atomic_fixed8_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_div_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_div_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_eqv@VERSION 1:21.1 + __kmpc_atomic_fixed8_eqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_max@VERSION 1:21.1 + __kmpc_atomic_fixed8_max_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_min@VERSION 1:21.1 + __kmpc_atomic_fixed8_min_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_mul@VERSION 1:21.1 + __kmpc_atomic_fixed8_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_mul_float8@VERSION 1:21.1 + __kmpc_atomic_fixed8_neqv@VERSION 1:21.1 + __kmpc_atomic_fixed8_neqv_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_orb@VERSION 1:21.1 + __kmpc_atomic_fixed8_orb_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_orl@VERSION 1:21.1 + __kmpc_atomic_fixed8_orl_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8_rd@VERSION 1:21.1 + __kmpc_atomic_fixed8_shl@VERSION 1:21.1 + __kmpc_atomic_fixed8_shl_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_shl_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_shl_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_shr@VERSION 1:21.1 + __kmpc_atomic_fixed8_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_shr_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_sub@VERSION 1:21.1 + __kmpc_atomic_fixed8_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8_swp@VERSION 1:21.1.5 + __kmpc_atomic_fixed8_wr@VERSION 1:21.1 + __kmpc_atomic_fixed8_xor@VERSION 1:21.1 + __kmpc_atomic_fixed8_xor_cpt@VERSION 1:21.1 + __kmpc_atomic_fixed8u_div@VERSION 1:21.1 + __kmpc_atomic_fixed8u_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8u_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8u_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_fixed8u_shr@VERSION 1:21.1 + __kmpc_atomic_fixed8u_shr_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8u_shr_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_fixed8u_shr_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_add@VERSION 1:21.1.5 + __kmpc_atomic_float10_add_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_div@VERSION 1:21.1.5 + __kmpc_atomic_float10_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_div_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_max@VERSION 1:21.1.5 + __kmpc_atomic_float10_max_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_min@VERSION 1:21.1.5 + __kmpc_atomic_float10_min_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_mul@VERSION 1:21.1.5 + __kmpc_atomic_float10_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_float10_rd@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_sub@VERSION 1:21.1.5 + __kmpc_atomic_float10_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float10_swp@VERSION 1:21.1.5 + __kmpc_atomic_float10_wr@VERSION 1:21.1 + __kmpc_atomic_float4_add@VERSION 1:21.1 + __kmpc_atomic_float4_add_cpt@VERSION 1:21.1 + __kmpc_atomic_float4_add_float8@VERSION 1:21.1 + __kmpc_atomic_float4_div@VERSION 1:21.1 + __kmpc_atomic_float4_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float4_div_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_float4_div_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float4_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_float4_max@VERSION 1:21.1 + __kmpc_atomic_float4_max_cpt@VERSION 1:21.1 + __kmpc_atomic_float4_min@VERSION 1:21.1 + __kmpc_atomic_float4_min_cpt@VERSION 1:21.1 + __kmpc_atomic_float4_mul@VERSION 1:21.1 + __kmpc_atomic_float4_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_float4_mul_float8@VERSION 1:21.1 + __kmpc_atomic_float4_rd@VERSION 1:21.1 + __kmpc_atomic_float4_sub@VERSION 1:21.1 + __kmpc_atomic_float4_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float4_sub_cpt_rev@VERSION 1:21.1.5 + __kmpc_atomic_float4_sub_float8@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float4_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float4_swp@VERSION 1:21.1.5 + __kmpc_atomic_float4_wr@VERSION 1:21.1 + __kmpc_atomic_float8_add@VERSION 1:21.1 + __kmpc_atomic_float8_add_cpt@VERSION 1:21.1 + __kmpc_atomic_float8_div@VERSION 1:21.1 + __kmpc_atomic_float8_div_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float8_div_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float8_div_rev@VERSION 1:21.1.5 + __kmpc_atomic_float8_max@VERSION 1:21.1 + __kmpc_atomic_float8_max_cpt@VERSION 1:21.1 + __kmpc_atomic_float8_min@VERSION 1:21.1 + __kmpc_atomic_float8_min_cpt@VERSION 1:21.1 + __kmpc_atomic_float8_mul@VERSION 1:21.1 + __kmpc_atomic_float8_mul_cpt@VERSION 1:21.1 + __kmpc_atomic_float8_rd@VERSION 1:21.1 + __kmpc_atomic_float8_sub@VERSION 1:21.1 + __kmpc_atomic_float8_sub_cpt@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float8_sub_cpt_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float8_sub_rev@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_float8_swp@VERSION 1:21.1.5 + __kmpc_atomic_float8_wr@VERSION 1:21.1 + __kmpc_atomic_start@VERSION 1:21.1 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_1_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_1_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_2_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_2_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_4_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_4_cas_cpt@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_8_cas@VERSION 1:21.1.5 + (arch=amd64 hurd-amd64 i386)__kmpc_atomic_val_8_cas_cpt@VERSION 1:21.1.5 + __kmpc_barrier@VERSION 1:21.1 + __kmpc_barrier_master@VERSION 1:21.1 + __kmpc_barrier_master_nowait@VERSION 1:21.1 + __kmpc_begin@VERSION 1:21.1 + __kmpc_bound_num_threads@VERSION 1:21.1 + __kmpc_bound_thread_num@VERSION 1:21.1 + __kmpc_calc_original_ivs_rectang@VERSION 1:21.1 + __kmpc_calloc@VERSION 1:21.1 + __kmpc_cancel@VERSION 1:21.1 + __kmpc_cancel_barrier@VERSION 1:21.1 + __kmpc_cancellationpoint@VERSION 1:21.1 + __kmpc_copyprivate@VERSION 1:21.1 + __kmpc_copyprivate_light@VERSION 1:21.1 + __kmpc_critical@VERSION 1:21.1 + __kmpc_critical_with_hint@VERSION 1:21.1 + __kmpc_destroy_allocator@VERSION 1:21.1 + __kmpc_destroy_lock@VERSION 1:21.1 + __kmpc_destroy_nest_lock@VERSION 1:21.1 + __kmpc_dispatch_deinit@VERSION 1:21.1 + __kmpc_dispatch_fini_4@VERSION 1:21.1 + __kmpc_dispatch_fini_4u@VERSION 1:21.1 + __kmpc_dispatch_fini_8@VERSION 1:21.1 + __kmpc_dispatch_fini_8u@VERSION 1:21.1 + __kmpc_dispatch_init_4@VERSION 1:21.1 + __kmpc_dispatch_init_4u@VERSION 1:21.1 + __kmpc_dispatch_init_8@VERSION 1:21.1 + __kmpc_dispatch_init_8u@VERSION 1:21.1 + __kmpc_dispatch_next_4@VERSION 1:21.1 + __kmpc_dispatch_next_4u@VERSION 1:21.1 + __kmpc_dispatch_next_8@VERSION 1:21.1 + __kmpc_dispatch_next_8u@VERSION 1:21.1 + __kmpc_dist_dispatch_init_4@VERSION 1:21.1 + __kmpc_dist_dispatch_init_4u@VERSION 1:21.1 + __kmpc_dist_dispatch_init_8@VERSION 1:21.1 + __kmpc_dist_dispatch_init_8u@VERSION 1:21.1 + __kmpc_dist_for_static_init_4@VERSION 1:21.1 + __kmpc_dist_for_static_init_4u@VERSION 1:21.1 + __kmpc_dist_for_static_init_8@VERSION 1:21.1 + __kmpc_dist_for_static_init_8u@VERSION 1:21.1 + __kmpc_doacross_fini@VERSION 1:21.1 + __kmpc_doacross_init@VERSION 1:21.1 + __kmpc_doacross_post@VERSION 1:21.1 + __kmpc_doacross_wait@VERSION 1:21.1 + __kmpc_end@VERSION 1:21.1 + __kmpc_end_barrier_master@VERSION 1:21.1 + __kmpc_end_critical@VERSION 1:21.1 + __kmpc_end_masked@VERSION 1:21.1 + __kmpc_end_master@VERSION 1:21.1 + __kmpc_end_ordered@VERSION 1:21.1 + __kmpc_end_reduce@VERSION 1:21.1 + __kmpc_end_reduce_nowait@VERSION 1:21.1 + __kmpc_end_scope@VERSION 1:21.1 + __kmpc_end_sections@VERSION 1:21.1 + __kmpc_end_serialized_parallel@VERSION 1:21.1 + __kmpc_end_single@VERSION 1:21.1 + __kmpc_end_taskgroup@VERSION 1:21.1 + __kmpc_error@VERSION 1:21.1 + __kmpc_flush@VERSION 1:21.1 + __kmpc_for_collapsed_init@VERSION 1:21.1 + __kmpc_for_static_fini@VERSION 1:21.1 + __kmpc_for_static_init_4@VERSION 1:21.1 + __kmpc_for_static_init_4u@VERSION 1:21.1 + __kmpc_for_static_init_8@VERSION 1:21.1 + __kmpc_for_static_init_8u@VERSION 1:21.1 + __kmpc_fork_call@VERSION 1:21.1 + __kmpc_fork_call_if@VERSION 1:21.1 + __kmpc_fork_teams@VERSION 1:21.1 + __kmpc_free@VERSION 1:21.1 + __kmpc_get_default_allocator@VERSION 1:21.1 + __kmpc_get_parent_taskid@VERSION 1:21.1 + __kmpc_get_target_offload@VERSION 1:21.1 + __kmpc_get_taskid@VERSION 1:21.1 + __kmpc_global_num_threads@VERSION 1:21.1 + __kmpc_global_thread_num@VERSION 1:21.1 + __kmpc_in_parallel@VERSION 1:21.1 + __kmpc_init_allocator@VERSION 1:21.1 + __kmpc_init_lock@VERSION 1:21.1 + __kmpc_init_lock_with_hint@VERSION 1:21.1 + __kmpc_init_nest_lock@VERSION 1:21.1 + __kmpc_init_nest_lock_with_hint@VERSION 1:21.1 + __kmpc_invoke_task_func@VERSION 1:21.1 + __kmpc_masked@VERSION 1:21.1 + __kmpc_master@VERSION 1:21.1 + __kmpc_next_section@VERSION 1:21.1 + __kmpc_ok_to_fork@VERSION 1:21.1 + __kmpc_omp_get_target_async_handle_ptr@VERSION 1:21.1 + __kmpc_omp_has_task_team@VERSION 1:21.1 + __kmpc_omp_reg_task_with_affinity@VERSION 1:21.1 + __kmpc_omp_target_task_alloc@VERSION 1:21.1 + __kmpc_omp_task@VERSION 1:21.1 + __kmpc_omp_task_alloc@VERSION 1:21.1 + __kmpc_omp_task_begin_if0@VERSION 1:21.1 + __kmpc_omp_task_complete_if0@VERSION 1:21.1 + __kmpc_omp_task_parts@VERSION 1:21.1 + __kmpc_omp_task_with_deps@VERSION 1:21.1 + __kmpc_omp_taskwait@VERSION 1:21.1 + __kmpc_omp_taskwait_deps_51@VERSION 1:21.1 + __kmpc_omp_taskyield@VERSION 1:21.1 + __kmpc_omp_wait_deps@VERSION 1:21.1 + __kmpc_ordered@VERSION 1:21.1 + __kmpc_pause_resource@VERSION 1:21.1 + __kmpc_pop_num_threads@VERSION 1:21.1 + __kmpc_process_loop_nest_rectang@VERSION 1:21.1 + __kmpc_proxy_task_completed@VERSION 1:21.1 + __kmpc_proxy_task_completed_ooo@VERSION 1:21.1 + __kmpc_push_num_teams@VERSION 1:21.1 + __kmpc_push_num_teams_51@VERSION 1:21.1 + __kmpc_push_num_threads@VERSION 1:21.1 + __kmpc_push_num_threads_list@VERSION 1:21.1 + __kmpc_push_num_threads_list_strict@VERSION 1:21.1 + __kmpc_push_num_threads_strict@VERSION 1:21.1 + __kmpc_push_proc_bind@VERSION 1:21.1 + __kmpc_realloc@VERSION 1:21.1 + __kmpc_reduce@VERSION 1:21.1 + __kmpc_reduce_nowait@VERSION 1:21.1 + __kmpc_scope@VERSION 1:21.1 + __kmpc_sections_init@VERSION 1:21.1 + __kmpc_serialized_parallel@VERSION 1:21.1 + __kmpc_set_default_allocator@VERSION 1:21.1 + __kmpc_set_lock@VERSION 1:21.1 + __kmpc_set_nest_lock@VERSION 1:21.1 + __kmpc_set_thread_limit@VERSION 1:21.1 + __kmpc_single@VERSION 1:21.1 + __kmpc_task_allow_completion_event@VERSION 1:21.1 + __kmpc_task_get_depnode@VERSION 1:21.1 + __kmpc_task_get_successors@VERSION 1:21.1 + __kmpc_task_reduction_get_th_data@VERSION 1:21.1 + __kmpc_task_reduction_init@VERSION 1:21.1 + __kmpc_task_reduction_modifier_fini@VERSION 1:21.1 + __kmpc_task_reduction_modifier_init@VERSION 1:21.1 + __kmpc_taskgroup@VERSION 1:21.1 + __kmpc_taskloop@VERSION 1:21.1 + __kmpc_taskloop_5@VERSION 1:21.1 + __kmpc_taskred_init@VERSION 1:21.1 + __kmpc_taskred_modifier_init@VERSION 1:21.1 + __kmpc_team_static_init_4@VERSION 1:21.1 + __kmpc_team_static_init_4u@VERSION 1:21.1 + __kmpc_team_static_init_8@VERSION 1:21.1 + __kmpc_team_static_init_8u@VERSION 1:21.1 + __kmpc_test_lock@VERSION 1:21.1 + __kmpc_test_nest_lock@VERSION 1:21.1 + __kmpc_threadprivate@VERSION 1:21.1 + __kmpc_threadprivate_cached@VERSION 1:21.1 + __kmpc_threadprivate_register@VERSION 1:21.1 + __kmpc_threadprivate_register_vec@VERSION 1:21.1 + __kmpc_unset_lock@VERSION 1:21.1 + __kmpc_unset_nest_lock@VERSION 1:21.1 + kmp_a_debug@VERSION 1:21.1 + kmp_aligned_malloc@VERSION 1:21.1 + kmp_aligned_malloc_@VERSION 1:21.1 + kmp_b_debug@VERSION 1:21.1 + kmp_c_debug@VERSION 1:21.1 + kmp_calloc@VERSION 1:21.1 + kmp_calloc_@VERSION 1:21.1 + kmp_create_affinity_mask@VERSION 1:21.1 + kmp_create_affinity_mask_@VERSION 1:21.1 + kmp_d_debug@VERSION 1:21.1 + kmp_destroy_affinity_mask@VERSION 1:21.1 + kmp_destroy_affinity_mask_@VERSION 1:21.1 + kmp_diag@VERSION 1:21.1 + kmp_e_debug@VERSION 1:21.1 + kmp_f_debug@VERSION 1:21.1 + kmp_free@VERSION 1:21.1 + kmp_free_@VERSION 1:21.1 + kmp_get_affinity@VERSION 1:21.1 + kmp_get_affinity_@VERSION 1:21.1 + kmp_get_affinity_mask_proc@VERSION 1:21.1 + kmp_get_affinity_mask_proc_@VERSION 1:21.1 + kmp_get_affinity_max_proc@VERSION 1:21.1 + kmp_get_affinity_max_proc_@VERSION 1:21.1 + kmp_get_blocktime@VERSION 1:21.1 + kmp_get_blocktime_@VERSION 1:21.1 + kmp_get_cancellation_status@VERSION 1:21.1 + kmp_get_cancellation_status_@VERSION 1:21.1 + kmp_get_library@VERSION 1:21.1 + kmp_get_library_@VERSION 1:21.1 + kmp_get_num_known_threads@VERSION 1:21.1 + kmp_get_num_known_threads_@VERSION 1:21.1 + kmp_get_stacksize@VERSION 1:21.1 + kmp_get_stacksize_@VERSION 1:21.1 + kmp_get_stacksize_s@VERSION 1:21.1 + kmp_get_stacksize_s_@VERSION 1:21.1 + kmp_malloc@VERSION 1:21.1 + kmp_malloc_@VERSION 1:21.1 + kmp_max_mem_alloc@VERSION 1:21.1 + kmp_max_mem_space@VERSION 1:21.1 + (arch=!armhf)kmp_mutex_impl_info@VERSION 1:21.1.5 + kmp_realloc@VERSION 1:21.1 + kmp_realloc_@VERSION 1:21.1 + kmp_set_affinity@VERSION 1:21.1 + kmp_set_affinity_@VERSION 1:21.1 + kmp_set_affinity_mask_proc@VERSION 1:21.1 + kmp_set_affinity_mask_proc_@VERSION 1:21.1 + kmp_set_blocktime@VERSION 1:21.1 + kmp_set_blocktime_@VERSION 1:21.1 + kmp_set_defaults@VERSION 1:21.1 + kmp_set_defaults_@VERSION 1:21.1 + kmp_set_disp_num_buffers@VERSION 1:21.1 + kmp_set_disp_num_buffers_@VERSION 1:21.1 + kmp_set_library@VERSION 1:21.1 + kmp_set_library_@VERSION 1:21.1 + kmp_set_library_serial@VERSION 1:21.1 + kmp_set_library_serial_@VERSION 1:21.1 + kmp_set_library_throughput@VERSION 1:21.1 + kmp_set_library_throughput_@VERSION 1:21.1 + kmp_set_library_turnaround@VERSION 1:21.1 + kmp_set_library_turnaround_@VERSION 1:21.1 + kmp_set_stacksize@VERSION 1:21.1 + kmp_set_stacksize_@VERSION 1:21.1 + kmp_set_stacksize_s@VERSION 1:21.1 + kmp_set_stacksize_s_@VERSION 1:21.1 + (arch=!hurd-amd64)kmp_set_thread_affinity_mask_initial@VERSION 1:21.1.5 + kmp_set_warnings_off@VERSION 1:21.1 + kmp_set_warnings_off_@VERSION 1:21.1 + kmp_set_warnings_on@VERSION 1:21.1 + kmp_set_warnings_on_@VERSION 1:21.1 + kmp_threadprivate_insert@VERSION 1:21.1 + kmp_threadprivate_insert_private_data@VERSION 1:21.1 + kmp_unset_affinity_mask_proc@VERSION 1:21.1 + kmp_unset_affinity_mask_proc_@VERSION 1:21.1 + kmpc_aligned_malloc@VERSION 1:21.1 + kmpc_calloc@VERSION 1:21.1 + kmpc_free@VERSION 1:21.1 + kmpc_get_affinity_mask_proc@VERSION 1:21.1 + kmpc_malloc@VERSION 1:21.1 + kmpc_realloc@VERSION 1:21.1 + kmpc_set_affinity_mask_proc@VERSION 1:21.1 + kmpc_set_blocktime@VERSION 1:21.1 + kmpc_set_defaults@VERSION 1:21.1 + kmpc_set_disp_num_buffers@VERSION 1:21.1 + kmpc_set_library@VERSION 1:21.1 + kmpc_set_stacksize@VERSION 1:21.1 + kmpc_set_stacksize_s@VERSION 1:21.1 + kmpc_unset_affinity_mask_proc@VERSION 1:21.1 + omp_aligned_alloc@VERSION 1:21.1 + omp_aligned_calloc@VERSION 1:21.1 + omp_alloc@VERSION 1:21.1 + omp_calloc@VERSION 1:21.1 + omp_capture_affinity@VERSION 1:21.1 + omp_capture_affinity_@VERSION 1:21.1 + omp_cgroup_mem_alloc@VERSION 1:21.1 + omp_const_mem_alloc@VERSION 1:21.1 + omp_const_mem_space@VERSION 1:21.1 + omp_control_tool@VERSION 1:21.1 + omp_control_tool_@VERSION 1:21.1 + omp_default_mem_alloc@VERSION 1:21.1 + omp_default_mem_space@VERSION 1:21.1 + omp_destroy_allocator@VERSION 1:21.1 + omp_destroy_allocator_@VERSION 1:21.1 + omp_destroy_lock@VERSION 1:21.1 + omp_destroy_lock_@VERSION 1:21.1 + omp_destroy_nest_lock@VERSION 1:21.1 + omp_destroy_nest_lock_@VERSION 1:21.1 + omp_display_affinity@VERSION 1:21.1 + omp_display_affinity_@VERSION 1:21.1 + omp_display_env@VERSION 1:21.1 + omp_display_env_@VERSION 1:21.1 + omp_free@VERSION 1:21.1 + omp_fulfill_event@VERSION 1:21.1 + omp_fulfill_event_@VERSION 1:21.1 + omp_get_active_level@VERSION 1:21.1 + omp_get_active_level_@VERSION 1:21.1 + omp_get_affinity_format@VERSION 1:21.1 + omp_get_affinity_format_@VERSION 1:21.1 + omp_get_ancestor_thread_num@VERSION 1:21.1 + omp_get_ancestor_thread_num_@VERSION 1:21.1 + omp_get_cancellation@VERSION 1:21.1 + omp_get_cancellation_@VERSION 1:21.1 + omp_get_default_allocator@VERSION 1:21.1 + omp_get_default_allocator_@VERSION 1:21.1 + omp_get_default_device@VERSION 1:21.1 + omp_get_default_device_@VERSION 1:21.1 + omp_get_device_allocator@VERSION 1:21.1 + omp_get_device_allocator_@VERSION 1:21.1 + omp_get_device_and_host_allocator@VERSION 1:21.1 + omp_get_device_and_host_allocator_@VERSION 1:21.1 + omp_get_device_and_host_memspace@VERSION 1:21.1 + omp_get_device_and_host_memspace_@VERSION 1:21.1 + omp_get_device_memspace@VERSION 1:21.1 + omp_get_device_memspace_@VERSION 1:21.1 + omp_get_device_num@VERSION 1:21.1 + omp_get_device_num_@VERSION 1:21.1 + omp_get_devices_all_allocator@VERSION 1:21.1 + omp_get_devices_all_allocator_@VERSION 1:21.1 + omp_get_devices_all_memspace@VERSION 1:21.1 + omp_get_devices_all_memspace_@VERSION 1:21.1 + omp_get_devices_allocator@VERSION 1:21.1 + omp_get_devices_allocator_@VERSION 1:21.1 + omp_get_devices_and_host_allocator@VERSION 1:21.1 + omp_get_devices_and_host_allocator_@VERSION 1:21.1 + omp_get_devices_and_host_memspace@VERSION 1:21.1 + omp_get_devices_and_host_memspace_@VERSION 1:21.1 + omp_get_devices_memspace@VERSION 1:21.1 + omp_get_devices_memspace_@VERSION 1:21.1 + omp_get_dynamic@VERSION 1:21.1 + omp_get_dynamic_@VERSION 1:21.1 + omp_get_initial_device@VERSION 1:21.1 + omp_get_initial_device_@VERSION 1:21.1 + omp_get_interop_int@VERSION 1:21.1 + omp_get_interop_int_@VERSION 1:21.1 + omp_get_interop_name@VERSION 1:21.1 + omp_get_interop_name_@VERSION 1:21.1 + omp_get_interop_ptr@VERSION 1:21.1 + omp_get_interop_ptr_@VERSION 1:21.1 + omp_get_interop_rc_desc@VERSION 1:21.1 + omp_get_interop_rc_desc_@VERSION 1:21.1 + omp_get_interop_str@VERSION 1:21.1 + omp_get_interop_str_@VERSION 1:21.1 + omp_get_interop_type_desc@VERSION 1:21.1 + omp_get_interop_type_desc_@VERSION 1:21.1 + omp_get_level@VERSION 1:21.1 + omp_get_level_@VERSION 1:21.1 + omp_get_max_active_levels@VERSION 1:21.1 + omp_get_max_active_levels_@VERSION 1:21.1 + omp_get_max_task_priority@VERSION 1:21.1 + omp_get_max_task_priority_@VERSION 1:21.1 + omp_get_max_teams@VERSION 1:21.1 + omp_get_max_teams_@VERSION 1:21.1 + omp_get_max_threads@VERSION 1:21.1 + omp_get_max_threads_@VERSION 1:21.1 + omp_get_memspace_num_resources@VERSION 1:21.1 + omp_get_memspace_num_resources_@VERSION 1:21.1 + omp_get_nested@VERSION 1:21.1 + omp_get_nested_@VERSION 1:21.1 + omp_get_num_devices@VERSION 1:21.1 + omp_get_num_devices_@VERSION 1:21.1 + omp_get_num_interop_properties@VERSION 1:21.1 + omp_get_num_interop_properties_@VERSION 1:21.1 + omp_get_num_places@VERSION 1:21.1 + omp_get_num_places_@VERSION 1:21.1 + omp_get_num_procs@VERSION 1:21.1 + omp_get_num_procs_@VERSION 1:21.1 + omp_get_num_teams@VERSION 1:21.1 + omp_get_num_teams_@VERSION 1:21.1 + omp_get_num_threads@VERSION 1:21.1 + omp_get_num_threads_@VERSION 1:21.1 + omp_get_partition_num_places@VERSION 1:21.1 + omp_get_partition_num_places_@VERSION 1:21.1 + omp_get_partition_place_nums@VERSION 1:21.1 + omp_get_partition_place_nums_@VERSION 1:21.1 + omp_get_place_num@VERSION 1:21.1 + omp_get_place_num_@VERSION 1:21.1 + omp_get_place_num_procs@VERSION 1:21.1 + omp_get_place_num_procs_@VERSION 1:21.1 + omp_get_place_proc_ids@VERSION 1:21.1 + omp_get_place_proc_ids_@VERSION 1:21.1 + omp_get_proc_bind@VERSION 1:21.1 + omp_get_proc_bind_@VERSION 1:21.1 + omp_get_schedule@VERSION 1:21.1 + omp_get_schedule_@VERSION 1:21.1 + omp_get_submemspace@VERSION 1:21.1 + omp_get_submemspace_@VERSION 1:21.1 + omp_get_supported_active_levels@VERSION 1:21.1 + omp_get_supported_active_levels_@VERSION 1:21.1 + omp_get_team_num@VERSION 1:21.1 + omp_get_team_num_@VERSION 1:21.1 + omp_get_team_size@VERSION 1:21.1 + omp_get_team_size_@VERSION 1:21.1 + omp_get_teams_thread_limit@VERSION 1:21.1 + omp_get_teams_thread_limit_@VERSION 1:21.1 + omp_get_thread_limit@VERSION 1:21.1 + omp_get_thread_limit_@VERSION 1:21.1 + omp_get_thread_num@VERSION 1:21.1 + omp_get_thread_num_@VERSION 1:21.1 + omp_get_wtick@VERSION 1:21.1 + omp_get_wtick_@VERSION 1:21.1 + omp_get_wtime@VERSION 1:21.1 + omp_get_wtime_@VERSION 1:21.1 + omp_high_bw_mem_alloc@VERSION 1:21.1 + omp_high_bw_mem_space@VERSION 1:21.1 + omp_in_explicit_task@VERSION 1:21.1 + omp_in_explicit_task_@VERSION 1:21.1 + omp_in_final@VERSION 1:21.1 + omp_in_final_@VERSION 1:21.1 + omp_in_parallel@VERSION 1:21.1 + omp_in_parallel_@VERSION 1:21.1 + omp_init_allocator@VERSION 1:21.1 + omp_init_allocator_@VERSION 1:21.1 + omp_init_lock@VERSION 1:21.1 + omp_init_lock_@VERSION 1:21.1 + omp_init_lock_with_hint@VERSION 1:21.1 + omp_init_lock_with_hint_@VERSION 1:21.1 + omp_init_nest_lock@VERSION 1:21.1 + omp_init_nest_lock_@VERSION 1:21.1 + omp_init_nest_lock_with_hint@VERSION 1:21.1 + omp_init_nest_lock_with_hint_@VERSION 1:21.1 + omp_is_initial_device@VERSION 1:21.1 + omp_is_initial_device_@VERSION 1:21.1 + omp_large_cap_mem_alloc@VERSION 1:21.1 + omp_large_cap_mem_space@VERSION 1:21.1 + omp_low_lat_mem_alloc@VERSION 1:21.1 + omp_low_lat_mem_space@VERSION 1:21.1 + omp_null_allocator@VERSION 1:21.1 + omp_null_mem_space@VERSION 1:21.1 + omp_pause_resource@VERSION 1:21.1 + omp_pause_resource_@VERSION 1:21.1 + omp_pause_resource_all@VERSION 1:21.1 + omp_pause_resource_all_@VERSION 1:21.1 + omp_pteam_mem_alloc@VERSION 1:21.1 + omp_realloc@VERSION 1:21.1 + omp_set_affinity_format@VERSION 1:21.1 + omp_set_affinity_format_@VERSION 1:21.1 + omp_set_default_allocator@VERSION 1:21.1 + omp_set_default_allocator_@VERSION 1:21.1 + omp_set_default_device@VERSION 1:21.1 + omp_set_default_device_@VERSION 1:21.1 + omp_set_dynamic@VERSION 1:21.1 + omp_set_dynamic_@VERSION 1:21.1 + omp_set_lock@VERSION 1:21.1 + omp_set_lock_@VERSION 1:21.1 + omp_set_max_active_levels@VERSION 1:21.1 + omp_set_max_active_levels_@VERSION 1:21.1 + omp_set_nest_lock@VERSION 1:21.1 + omp_set_nest_lock_@VERSION 1:21.1 + omp_set_nested@VERSION 1:21.1 + omp_set_nested_@VERSION 1:21.1 + omp_set_num_teams@VERSION 1:21.1 + omp_set_num_teams_@VERSION 1:21.1 + omp_set_num_threads@VERSION 1:21.1 + omp_set_num_threads_@VERSION 1:21.1 + omp_set_schedule@VERSION 1:21.1 + omp_set_schedule_@VERSION 1:21.1 + omp_set_teams_thread_limit@VERSION 1:21.1 + omp_set_teams_thread_limit_@VERSION 1:21.1 + omp_test_lock@VERSION 1:21.1 + omp_test_lock_@VERSION 1:21.1 + omp_test_nest_lock@VERSION 1:21.1 + omp_test_nest_lock_@VERSION 1:21.1 + omp_thread_mem_alloc@VERSION 1:21.1 + omp_unset_lock@VERSION 1:21.1 + omp_unset_lock_@VERSION 1:21.1 + omp_unset_nest_lock@VERSION 1:21.1 + omp_unset_nest_lock_@VERSION 1:21.1 + ompc_capture_affinity@VERSION 1:21.1 + ompc_display_affinity@VERSION 1:21.1 + ompc_get_affinity_format@VERSION 1:21.1 + ompc_get_ancestor_thread_num@VERSION 1:21.1 + ompc_get_team_size@VERSION 1:21.1 + ompc_set_affinity_format@VERSION 1:21.1 + ompc_set_dynamic@VERSION 1:21.1 + ompc_set_max_active_levels@VERSION 1:21.1 + ompc_set_nested@VERSION 1:21.1 + ompc_set_num_threads@VERSION 1:21.1 + ompc_set_schedule@VERSION 1:21.1 + ompt_libomp_connect@VERSION 1:21.1 + ompt_start_tool@VERSION 1:21.1 diff --git a/libpolly-X.Y-dev.install.in b/libpolly-X.Y-dev.install.in new file mode 100755 index 0000000000..eeac1585d8 --- /dev/null +++ b/libpolly-X.Y-dev.install.in @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libPolly*.a diff --git a/libpolly-X.Y-dev.lintian-overrides.in b/libpolly-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..923c47b29e --- /dev/null +++ b/libpolly-X.Y-dev.lintian-overrides.in @@ -0,0 +1 @@ +libpolly-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libPolly*.a* diff --git a/libunwind-X.Y-dev.install.in b/libunwind-X.Y-dev.install.in new file mode 100644 index 0000000000..b093cb9bda --- /dev/null +++ b/libunwind-X.Y-dev.install.in @@ -0,0 +1,5 @@ +@LLVM_LIBDIR@/libunwind.so usr/lib/@DEB_HOST_MULTIARCH@/ +@LLVM_LIBDIR@/libunwind.a usr/lib/@DEB_HOST_MULTIARCH@/ +usr/include/libunwind +@LLVM_DIR@/include/*unwind* +@LLVM_DIR@/include/mach-o/ diff --git a/libunwind-X.Y-dev.links.in b/libunwind-X.Y-dev.links.in new file mode 100644 index 0000000000..1871bbcda7 --- /dev/null +++ b/libunwind-X.Y-dev.links.in @@ -0,0 +1,8 @@ +# links from LLVM libdir to /usr/lib/@DEB_HOST_MULTIARCH@ +usr/lib/@DEB_HOST_MULTIARCH@/libunwind.a @LLVM_LIBDIR@/libunwind.a +# this one is not in the runtime package to make it M-A: same +usr/lib/@DEB_HOST_MULTIARCH@/libunwind.so.1.0 @LLVM_LIBDIR@/libunwind.so.1.0 + +# links inside LLVM libdir +@LLVM_LIBDIR@/libunwind.so.1.0 @LLVM_DIR@/lib/libunwind.so.1 +@LLVM_LIBDIR@/libunwind.so.1 @LLVM_DIR@/lib/libunwind.so diff --git a/libunwind-X.Y-dev.lintian-overrides.in b/libunwind-X.Y-dev.lintian-overrides.in new file mode 100644 index 0000000000..d143fce0a6 --- /dev/null +++ b/libunwind-X.Y-dev.lintian-overrides.in @@ -0,0 +1 @@ +libunwind-@LLVM_VERSION@-dev: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libunwind.a* diff --git a/libunwind1.lintian-overrides.in b/libunwind1.lintian-overrides.in new file mode 100644 index 0000000000..534d8b59b7 --- /dev/null +++ b/libunwind1.lintian-overrides.in @@ -0,0 +1 @@ +libunwind1: arch-dependent-file-not-in-arch-specific-directory *@LLVM_LIBDIR@/libunwind.so.1.0* diff --git a/lld-X.Y.install.in b/lld-X.Y.install.in new file mode 100644 index 0000000000..12ddbab7ed --- /dev/null +++ b/lld-X.Y.install.in @@ -0,0 +1,12 @@ +@LLVM_DIR@/bin/ld.lld* +@LLVM_DIR@/bin/ld64.lld* +@LLVM_DIR@/bin/lld-* +@LLVM_DIR@/bin/lld +@LLVM_DIR@/bin/wasm-ld + + +usr/bin/lld-link-@LLVM_VERSION@ +usr/bin/ld.lld-@LLVM_VERSION@ +usr/bin/ld64.lld*-@LLVM_VERSION@ +usr/bin/lld-@LLVM_VERSION@* +usr/bin/wasm-ld-@LLVM_VERSION@ diff --git a/lld-X.Y.lintian-overrides.in b/lld-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..fab09d25e3 --- /dev/null +++ b/lld-X.Y.lintian-overrides.in @@ -0,0 +1,2 @@ +# known ... +lld-@LLVM_VERSION@: no-manual-page diff --git a/lld-X.Y.manpages.in b/lld-X.Y.manpages.in new file mode 100644 index 0000000000..6cfafeaee3 --- /dev/null +++ b/lld-X.Y.manpages.in @@ -0,0 +1 @@ +lld/docs/ld.lld-@LLVM_VERSION@.1 diff --git a/lldb-X.Y.install.in b/lldb-X.Y.install.in new file mode 100644 index 0000000000..d65bea81c7 --- /dev/null +++ b/lldb-X.Y.install.in @@ -0,0 +1,9 @@ +@LLVM_DIR@/bin/lldb* +@LLVM_DIR@/bin/lldb-server* +@LLVM_DIR@/bin/lldb-argdumper + +usr/bin/lldb-@LLVM_VERSION@* +usr/bin/lldb-server-@LLVM_VERSION@* +usr/bin/lldb-argdumper-@LLVM_VERSION@ +usr/bin/lldb-dap-@LLVM_VERSION@ +usr/bin/lldb-instr-@LLVM_VERSION@ diff --git a/lldb-X.Y.links.in b/lldb-X.Y.links.in new file mode 100644 index 0000000000..a0aa29c0c2 --- /dev/null +++ b/lldb-X.Y.links.in @@ -0,0 +1,2 @@ +@LLVM_DIR@/bin/lldb-server @LLVM_DIR@/bin/lldb-server-@LLVM_VERSION_FULL@ +@LLVM_DIR@/bin/lldb-server @LLVM_DIR@/bin/lldb-server-@LLVM_VERSION@ diff --git a/lldb-X.Y.lintian-overrides.in b/lldb-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..71791cb18e --- /dev/null +++ b/lldb-X.Y.lintian-overrides.in @@ -0,0 +1,4 @@ +lldb-@LLVM_VERSION@: non-dev-pkg-with-shlib-symlink usr/lib/*/liblldb.so.1 usr/lib/*/liblldb.so +# Does not really matter +lldb-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/lldb-@LLVM_VERSION@.1.gz* +lldb-@LLVM_VERSION@: no-manual-page diff --git a/lldb-X.Y.manpages.in b/lldb-X.Y.manpages.in new file mode 100644 index 0000000000..3752407006 --- /dev/null +++ b/lldb-X.Y.manpages.in @@ -0,0 +1 @@ +debian/man/lldb-@LLVM_VERSION@.1 diff --git a/lldb-X.Y.postinst.in b/lldb-X.Y.postinst.in new file mode 100755 index 0000000000..a5a607104d --- /dev/null +++ b/lldb-X.Y.postinst.in @@ -0,0 +1,8 @@ +#!/bin/sh -e + +if [ "$1" = "configure" ] +then + ldconfig +fi + +#DEBHELPER# diff --git a/llvm-X.Y-dev.dirs.in b/llvm-X.Y-dev.dirs.in new file mode 100644 index 0000000000..b1d28be140 --- /dev/null +++ b/llvm-X.Y-dev.dirs.in @@ -0,0 +1,5 @@ +/@LLVM_LIBDIR@ +/@LLVM_DIR@/build +/@LLVM_DIR@/include +usr/share/doc/llvm-@LLVM_VERSION@-dev +usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@ diff --git a/llvm-X.Y-dev.install.in b/llvm-X.Y-dev.install.in new file mode 100755 index 0000000000..57b5079f37 --- /dev/null +++ b/llvm-X.Y-dev.install.in @@ -0,0 +1,31 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libLLVM*.a +#@LLVM_LIBDIR@/libllvm*.a +@LLVM_LIBDIR@/libLLVM.so +@LLVM_LIBDIR@/libLLVM-@LLVM_VERSION@*.so +@LLVM_LIBDIR@/libLTO.so +@LLVM_LIBDIR@/libRemarks.* +@LLVM_DIR@/include/llvm/ usr/include/llvm-@LLVM_VERSION@/ +@LLVM_DIR@/include/llvm-c/ usr/include/llvm-c-@LLVM_VERSION@/ +# Explicit debian/tmp since there are multiple declarations +debian/tmp/@LLVM_LIBDIR@/cmake/llvm/*.cmake +debian/tmp/@LLVM_LIBDIR@/cmake/llvm/llvm-driver-template.cpp.in + +llvm/utils/vim/indent/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/indent/ + +llvm/utils/vim/syntax/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ +llvm/utils/vim/syntax/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/syntax/ + +llvm/utils/vim/ftdetect/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ +llvm/utils/vim/ftdetect/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftdetect/ + +llvm/utils/vim/ftplugin/llvm-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ +llvm/utils/vim/ftplugin/tablegen-@LLVM_VERSION@.vim usr/share/vim/addons/ftplugin/ + +llvm/utils/vim/llvm-@LLVM_VERSION@-vimrc usr/share/vim/addons + + +llvm/utils/emacs/emacs.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +llvm/utils/emacs/llvm-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ +llvm/utils/emacs/tablegen-mode.el usr/share/emacs/site-lisp/llvm-@LLVM_VERSION@/ diff --git a/llvm-X.Y-dev.links.in b/llvm-X.Y-dev.links.in new file mode 100644 index 0000000000..324c24abd0 --- /dev/null +++ b/llvm-X.Y-dev.links.in @@ -0,0 +1,26 @@ +usr/include/llvm-c-@LLVM_VERSION@/llvm-c @LLVM_DIR@/include/llvm-c +usr/include/llvm-@LLVM_VERSION@/llvm @LLVM_DIR@/include/llvm +usr/include/llvm-c-@LLVM_VERSION@/llvm-c @LLVM_DIR@/build/include/llvm-c +usr/include/llvm-@LLVM_VERSION@/llvm @LLVM_DIR@/build/include/llvm + +@LLVM_DIR@/include/ @LLVM_DIR@/build/include +@LLVM_LIBDIR@/ @LLVM_DIR@/build/lib +@LLVM_DIR@/share/ @LLVM_DIR@/build/share +@LLVM_DIR@/ @LLVM_DIR@/build/Release +@LLVM_DIR@/ @LLVM_DIR@/build/Debug+Asserts + +@LLVM_LIBDIR@/cmake/llvm @LLVM_DIR@/cmake +@LLVM_LIBDIR@/cmake/llvm @LLVM_DIR@/share/llvm/cmake + +# FIXME: CMake requires this file, but for what? Fix LLVMExports.cmake instead? +# +# CMake Error at /usr/lib/llvm-19/lib/cmake/llvm/LLVMExports.cmake:1908 (message): +# The imported target "LLVM" references the file +# +# "/usr/lib/llvm-19/lib/libLLVM.so.1" +# +# but this file does not exist. +@LLVM_LIBDIR@/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ @LLVM_DIR@/lib/libLLVM.so.1 + +# symlink to the soname in the llvm libdir +usr/lib/@DEB_HOST_MULTIARCH@/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ @LLVM_LIBDIR@/libLLVM.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ diff --git a/llvm-X.Y-doc.dirs.in b/llvm-X.Y-doc.dirs.in new file mode 100644 index 0000000000..5379e8eceb --- /dev/null +++ b/llvm-X.Y-doc.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-doc diff --git a/llvm-X.Y-doc.install.in b/llvm-X.Y-doc.install.in new file mode 100644 index 0000000000..aaafde92fd --- /dev/null +++ b/llvm-X.Y-doc.install.in @@ -0,0 +1 @@ +llvm/docs/_build/html usr/share/doc/llvm-@LLVM_VERSION@-doc/ diff --git a/llvm-X.Y-examples.dirs.in b/llvm-X.Y-examples.dirs.in new file mode 100644 index 0000000000..a8b75c6619 --- /dev/null +++ b/llvm-X.Y-examples.dirs.in @@ -0,0 +1 @@ +usr/share/doc/llvm-@LLVM_VERSION@-examples diff --git a/llvm-X.Y-examples.examples.in b/llvm-X.Y-examples.examples.in new file mode 100644 index 0000000000..4a5cb2dcd8 --- /dev/null +++ b/llvm-X.Y-examples.examples.in @@ -0,0 +1 @@ +llvm/examples/* diff --git a/llvm-X.Y-linker-tools.install.in b/llvm-X.Y-linker-tools.install.in new file mode 100755 index 0000000000..15bc38330c --- /dev/null +++ b/llvm-X.Y-linker-tools.install.in @@ -0,0 +1,5 @@ +#!/usr/bin/dh-exec + +@LLVM_LIBDIR@/libLTO.so.@LLVM_VERSION@.@LLVM_VERSION_MINOR@ +[@POLLY_ARCHS@] @LLVM_LIBDIR@/LLVMPolly.so +[@BINUTILS_GOLD_ARCHS@] @LLVM_LIBDIR@/LLVMgold.so diff --git a/llvm-X.Y-linker-tools.links.in b/llvm-X.Y-linker-tools.links.in new file mode 100755 index 0000000000..c69dbff6bc --- /dev/null +++ b/llvm-X.Y-linker-tools.links.in @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec + +[@BINUTILS_GOLD_ARCHS@] @LLVM_LIBDIR@/LLVMgold.so usr/lib/bfd-plugins/LLVMgold-@LLVM_VERSION@.so diff --git a/llvm-X.Y-runtime.binfmt.conf.in b/llvm-X.Y-runtime.binfmt.conf.in new file mode 100644 index 0000000000..9f712796ba --- /dev/null +++ b/llvm-X.Y-runtime.binfmt.conf.in @@ -0,0 +1 @@ +:llvm-@LLVM_VERSION@-runtime.binfmt:M::BC::/usr/bin/lli-@LLVM_VERSION@: diff --git a/llvm-X.Y-runtime.binfmt.in b/llvm-X.Y-runtime.binfmt.in new file mode 100644 index 0000000000..6bb1df78cf --- /dev/null +++ b/llvm-X.Y-runtime.binfmt.in @@ -0,0 +1,3 @@ +package llvm-@LLVM_VERSION@-runtime +interpreter /usr/bin/lli-@LLVM_VERSION@ +magic BC diff --git a/llvm-X.Y-runtime.install.in b/llvm-X.Y-runtime.install.in new file mode 100644 index 0000000000..136ca4159b --- /dev/null +++ b/llvm-X.Y-runtime.install.in @@ -0,0 +1,9 @@ +@LLVM_DIR@/bin/lli +@LLVM_DIR@/bin/lli-child-target + +usr/bin/lli-@LLVM_VERSION@ +usr/bin/lli-child-target-@LLVM_VERSION@ + +debian/llvm-@LLVM_VERSION@-runtime.binfmt usr/share/binfmts/ +debian/llvm-@LLVM_VERSION@-runtime.binfmt.conf usr/lib/binfmt.d/ + diff --git a/llvm-X.Y-runtime.lintian-overrides.in b/llvm-X.Y-runtime.lintian-overrides.in new file mode 100644 index 0000000000..30a2142ac9 --- /dev/null +++ b/llvm-X.Y-runtime.lintian-overrides.in @@ -0,0 +1 @@ +llvm-@LLVM_VERSION@-runtime: binary-without-manpage *usr/bin/lli-child-target-@LLVM_VERSION@* diff --git a/llvm-X.Y-runtime.manpages.in b/llvm-X.Y-runtime.manpages.in new file mode 100644 index 0000000000..839952d038 --- /dev/null +++ b/llvm-X.Y-runtime.manpages.in @@ -0,0 +1 @@ +debian/man/lli* diff --git a/llvm-X.Y-runtime.postinst.in b/llvm-X.Y-runtime.postinst.in new file mode 100755 index 0000000000..a974e94909 --- /dev/null +++ b/llvm-X.Y-runtime.postinst.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +if test "$1" = "configure"; then + if command -v update-binfmts >/dev/null; then + update-binfmts --import llvm-@LLVM_VERSION@-runtime.binfmt || true + fi +fi + +#DEBHELPER# diff --git a/llvm-X.Y-runtime.prerm.in b/llvm-X.Y-runtime.prerm.in new file mode 100755 index 0000000000..35fc5ca8b5 --- /dev/null +++ b/llvm-X.Y-runtime.prerm.in @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +if test "$1" = "remove"; then + if command -v update-binfmts >/dev/null; then + update-binfmts --package llvm-@LLVM_VERSION@-runtime \ + --remove llvm-@LLVM_VERSION@-runtime.binfmt /usr/bin/lli-@LLVM_VERSION@ || true + if test -f /var/lib/binfmts/llvm-@LLVM_VERSION@.binfmt; then + # Purge old file + update-binfmts --package llvm-@LLVM_VERSION@-runtime \ + --remove llvm-@LLVM_VERSION@.binfmt /usr/bin/lli-@LLVM_VERSION@ || true + fi + fi +fi + +#DEBHELPER# + diff --git a/llvm-X.Y-tools.dirs.in b/llvm-X.Y-tools.dirs.in new file mode 100644 index 0000000000..7e0081034e --- /dev/null +++ b/llvm-X.Y-tools.dirs.in @@ -0,0 +1,2 @@ +/@LLVM_DIR@/build/unittests +/@LLVM_DIR@/build/utils/lit/ diff --git a/llvm-X.Y-tools.install.in b/llvm-X.Y-tools.install.in new file mode 100644 index 0000000000..f363a25a56 --- /dev/null +++ b/llvm-X.Y-tools.install.in @@ -0,0 +1,23 @@ +@LLVM_DIR@/bin/count +@LLVM_DIR@/bin/FileCheck +@LLVM_DIR@/bin/not +@LLVM_DIR@/bin/split-file +@LLVM_DIR@/bin/yaml-bench +@LLVM_DIR@/bin/llvm-ctxprof-util +@LLVM_DIR@/bin/UnicodeNameMappingGenerator +@LLVM_DIR@/share/opt-viewer/opt-viewer.py +@LLVM_DIR@/share/opt-viewer/optrecord.py +@LLVM_DIR@/share/opt-viewer/style.css +@LLVM_DIR@/share/opt-viewer/opt-diff.py +@LLVM_DIR@/share/opt-viewer/optpmap.py +@LLVM_DIR@/share/opt-viewer/opt-stats.py + +@LLVM_DIR@/build/utils/lit + +usr/bin/count-@LLVM_VERSION@ +usr/bin/FileCheck-@LLVM_VERSION@ +usr/bin/not-@LLVM_VERSION@ +usr/bin/yaml-bench-@LLVM_VERSION@ +usr/bin/split-file-@LLVM_VERSION@ +usr/bin/UnicodeNameMappingGenerator-@LLVM_VERSION@ +usr/bin/llvm-ctxprof-util-@LLVM_VERSION@ diff --git a/llvm-X.Y-tools.lintian-overrides.in b/llvm-X.Y-tools.lintian-overrides.in new file mode 100644 index 0000000000..764daf285d --- /dev/null +++ b/llvm-X.Y-tools.lintian-overrides.in @@ -0,0 +1,2 @@ +# known ... +llvm-@LLVM_VERSION@-tools: no-manual-page diff --git a/llvm-X.Y.dirs.in b/llvm-X.Y.dirs.in new file mode 100644 index 0000000000..6515e92a5a --- /dev/null +++ b/llvm-X.Y.dirs.in @@ -0,0 +1,3 @@ +/@LLVM_DIR@/bin +usr/share/man/man1 +usr/share/doc/llvm-@LLVM_VERSION@ diff --git a/llvm-X.Y.install.in b/llvm-X.Y.install.in new file mode 100644 index 0000000000..cf4a9d7122 --- /dev/null +++ b/llvm-X.Y.install.in @@ -0,0 +1,166 @@ +@LLVM_DIR@/bin/llvm-PerfectShuffle +@LLVM_DIR@/bin/llvm-ar +@LLVM_DIR@/bin/llvm-as +@LLVM_DIR@/bin/llvm-bcanalyzer +@LLVM_DIR@/bin/llvm-c-test +@LLVM_DIR@/bin/llvm-cat +@LLVM_DIR@/bin/llvm-cfi-verify +@LLVM_DIR@/bin/llvm-config +@LLVM_DIR@/bin/llvm-cov +@LLVM_DIR@/bin/llvm-cvtres +@LLVM_DIR@/bin/llvm-cxxdump +@LLVM_DIR@/bin/llvm-cxxfilt +@LLVM_DIR@/bin/llvm-cxxmap +@LLVM_DIR@/bin/llvm-diff +@LLVM_DIR@/bin/llvm-dis +@LLVM_DIR@/bin/llvm-dwarfdump +@LLVM_DIR@/bin/llvm-dwarfutil +@LLVM_DIR@/bin/llvm-dwp +@LLVM_DIR@/bin/llvm-exegesis +@LLVM_DIR@/bin/llvm-extract +@LLVM_DIR@/bin/llvm-gsymutil +@LLVM_DIR@/bin/llvm-ifs +@LLVM_DIR@/bin/llvm-jitlink +@LLVM_DIR@/bin/llvm-jitlink-executor +@LLVM_DIR@/bin/llvm-libtool-darwin +@LLVM_DIR@/bin/llvm-link +@LLVM_DIR@/bin/llvm-lipo +@LLVM_DIR@/bin/llvm-lto +@LLVM_DIR@/bin/llvm-lto2 +@LLVM_DIR@/bin/llvm-mc +@LLVM_DIR@/bin/llvm-mca +@LLVM_DIR@/bin/llvm-ml +@LLVM_DIR@/bin/llvm-ml64 +@LLVM_DIR@/bin/llvm-modextract +@LLVM_DIR@/bin/llvm-mt +@LLVM_DIR@/bin/llvm-nm +@LLVM_DIR@/bin/llvm-objcopy +@LLVM_DIR@/bin/llvm-objdump +@LLVM_DIR@/bin/llvm-opt-report +@LLVM_DIR@/bin/llvm-pdbutil +@LLVM_DIR@/bin/llvm-profdata +@LLVM_DIR@/bin/llvm-profgen +@LLVM_DIR@/bin/llvm-rc +@LLVM_DIR@/bin/llvm-readobj +@LLVM_DIR@/bin/llvm-reduce +@LLVM_DIR@/bin/llvm-rtdyld +@LLVM_DIR@/bin/llvm-sim +@LLVM_DIR@/bin/llvm-size +@LLVM_DIR@/bin/llvm-split +@LLVM_DIR@/bin/llvm-stress +@LLVM_DIR@/bin/llvm-strings +@LLVM_DIR@/bin/llvm-symbolizer +@LLVM_DIR@/bin/llvm-tblgen +@LLVM_DIR@/bin/llvm-undname +@LLVM_DIR@/bin/llvm-xray +@LLVM_DIR@/bin/obj2yaml +@LLVM_DIR@/bin/opt +@LLVM_DIR@/bin/sanstats +@LLVM_DIR@/bin/verify-uselistorder +@LLVM_DIR@/bin/yaml2obj +@LLVM_DIR@/bin/llvm-addr2line +@LLVM_DIR@/bin/llvm-bitcode-strip +@LLVM_DIR@/bin/llvm-dlltool +@LLVM_DIR@/bin/llvm-install-name-tool +@LLVM_DIR@/bin/llvm-lib +@LLVM_DIR@/bin/llvm-otool +@LLVM_DIR@/bin/llvm-ranlib +@LLVM_DIR@/bin/llvm-readelf +@LLVM_DIR@/bin/llvm-strip +@LLVM_DIR@/bin/llvm-windres +@LLVM_DIR@/bin/llvm-tli-checker +@LLVM_DIR@/bin/opt* +@LLVM_DIR@/bin/bugpoint* +@LLVM_DIR@/bin/llc* +@LLVM_DIR@/bin/dsymutil +@LLVM_DIR@/bin/llvm-debuginfod-find +@LLVM_DIR@/bin/llvm-debuginfod +@LLVM_DIR@/bin/llvm-remarkutil +@LLVM_DIR@/bin/llvm-debuginfo-analyzer +@LLVM_DIR@/bin/llvm-readtapi +@LLVM_DIR@/bin/reduce-chunk-list +@LLVM_DIR@/bin/llvm-cgdata +@LLVM_DIR@/bin/llvm-test-mustache-spec + +usr/bin/llvm-PerfectShuffle-@LLVM_VERSION@ +usr/bin/llvm-addr2line-@LLVM_VERSION@ +usr/bin/llvm-ar-@LLVM_VERSION@ +usr/bin/llvm-as-@LLVM_VERSION@ +usr/bin/llvm-bcanalyzer-@LLVM_VERSION@ +usr/bin/llvm-bitcode-strip-@LLVM_VERSION@ +usr/bin/llvm-c-test-@LLVM_VERSION@ +usr/bin/llvm-cat-@LLVM_VERSION@ +usr/bin/llvm-cfi-verify-@LLVM_VERSION@ +usr/bin/llvm-config-@LLVM_VERSION@ +usr/bin/llvm-cov-@LLVM_VERSION@ +usr/bin/llvm-cvtres-@LLVM_VERSION@ +usr/bin/llvm-cxxdump-@LLVM_VERSION@ +usr/bin/llvm-cxxfilt-@LLVM_VERSION@ +usr/bin/llvm-cxxmap-@LLVM_VERSION@ +usr/bin/llvm-diff-@LLVM_VERSION@ +usr/bin/llvm-dis-@LLVM_VERSION@ +usr/bin/llvm-dlltool-@LLVM_VERSION@ +usr/bin/llvm-dwarfdump-@LLVM_VERSION@ +usr/bin/llvm-dwarfutil-@LLVM_VERSION@ +usr/bin/llvm-dwp-@LLVM_VERSION@ +usr/bin/llvm-exegesis-@LLVM_VERSION@ +usr/bin/llvm-extract-@LLVM_VERSION@ +usr/bin/llvm-gsymutil-@LLVM_VERSION@ +usr/bin/llvm-ifs-@LLVM_VERSION@ +usr/bin/llvm-install-name-tool-@LLVM_VERSION@ +usr/bin/llvm-jitlink-@LLVM_VERSION@ +usr/bin/llvm-jitlink-executor-@LLVM_VERSION@ +usr/bin/llvm-lib-@LLVM_VERSION@ +usr/bin/llvm-libtool-darwin-@LLVM_VERSION@ +usr/bin/llvm-link-@LLVM_VERSION@ +usr/bin/llvm-lipo-@LLVM_VERSION@ +usr/bin/llvm-lto-@LLVM_VERSION@ +usr/bin/llvm-lto2-@LLVM_VERSION@ +usr/bin/llvm-mc-@LLVM_VERSION@ +usr/bin/llvm-mca-@LLVM_VERSION@ +usr/bin/llvm-ml-@LLVM_VERSION@ +usr/bin/llvm-ml64-@LLVM_VERSION@ +usr/bin/llvm-modextract-@LLVM_VERSION@ +usr/bin/llvm-mt-@LLVM_VERSION@ +usr/bin/llvm-nm-@LLVM_VERSION@ +usr/bin/llvm-objcopy-@LLVM_VERSION@ +usr/bin/llvm-objdump-@LLVM_VERSION@ +usr/bin/llvm-opt-report-@LLVM_VERSION@ +usr/bin/llvm-otool-@LLVM_VERSION@ +usr/bin/llvm-pdbutil-@LLVM_VERSION@ +usr/bin/llvm-profdata-@LLVM_VERSION@ +usr/bin/llvm-profgen-@LLVM_VERSION@ +usr/bin/llvm-ranlib-@LLVM_VERSION@ +usr/bin/llvm-rc-@LLVM_VERSION@ +usr/bin/llvm-remarkutil-@LLVM_VERSION@ +usr/bin/llvm-readelf-@LLVM_VERSION@ +usr/bin/llvm-readobj-@LLVM_VERSION@ +usr/bin/llvm-reduce-@LLVM_VERSION@ +usr/bin/llvm-rtdyld-@LLVM_VERSION@ +usr/bin/llvm-sim-@LLVM_VERSION@ +usr/bin/llvm-size-@LLVM_VERSION@ +usr/bin/llvm-split-@LLVM_VERSION@ +usr/bin/llvm-stress-@LLVM_VERSION@ +usr/bin/llvm-strings-@LLVM_VERSION@ +usr/bin/llvm-strip-@LLVM_VERSION@ +usr/bin/llvm-symbolizer-@LLVM_VERSION@ +usr/bin/llvm-readtapi-@LLVM_VERSION@ +usr/bin/llvm-tblgen-@LLVM_VERSION@ +usr/bin/llvm-undname-@LLVM_VERSION@ +usr/bin/llvm-windres-@LLVM_VERSION@ +usr/bin/llvm-xray-@LLVM_VERSION@ +usr/bin/llvm-tli-checker-@LLVM_VERSION@ +usr/bin/opt* +usr/bin/bugpoint* +usr/bin/llc* +usr/bin/obj2yaml-* +usr/bin/yaml2obj-* +usr/bin/verify-uselistorder-* +usr/bin/sanstats-* +usr/bin/dsymutil-* +usr/bin/llvm-debuginfod-find-* +usr/bin/llvm-debuginfod-@LLVM_VERSION@ +usr/bin/llvm-debuginfo-analyzer-@LLVM_VERSION@ +usr/bin/reduce-chunk-list-@LLVM_VERSION@ +usr/bin/llvm-cgdata-@LLVM_VERSION@ +usr/bin/llvm-test-mustache-spec-@LLVM_VERSION@ diff --git a/llvm-X.Y.lintian-overrides.in b/llvm-X.Y.lintian-overrides.in new file mode 100644 index 0000000000..36c8dcccf8 --- /dev/null +++ b/llvm-X.Y.lintian-overrides.in @@ -0,0 +1,12 @@ +# I know but well... +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-dwarfdump-@LLVM_VERSION@.1.gz* +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-mc-@LLVM_VERSION@.1.gz* +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-objdump-@LLVM_VERSION@.1.gz* +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-rtdyld-@LLVM_VERSION@.1.gz* +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-size-@LLVM_VERSION@.1.gz* +llvm-@LLVM_VERSION@: manpage-has-useless-whatis-entry *usr/share/man/man1/llvm-ranlib-@LLVM_VERSION@.1.gz* +# Does not link otherwise +llvm-@LLVM_VERSION@: embedded-library *@LLVM_DIR@/bin/bugpoint: libjsoncpp* +llvm-@LLVM_VERSION@: embedded-library *@LLVM_DIR@/bin/opt: libjsoncpp* +# known ... +llvm-@LLVM_VERSION@: no-manual-page diff --git a/llvm-X.Y.manpages.in b/llvm-X.Y.manpages.in new file mode 100644 index 0000000000..e2483708a0 --- /dev/null +++ b/llvm-X.Y.manpages.in @@ -0,0 +1,7 @@ +llvm/docs/_build/man/* +debian/man/llvm-dwarfdump-@LLVM_VERSION@.1 +debian/man/llvm-mc-@LLVM_VERSION@.1 +debian/man/llvm-objdump-@LLVM_VERSION@.1 +debian/man/llvm-rtdyld-@LLVM_VERSION@.1 +debian/man/llvm-size-@LLVM_VERSION@.1 +debian/man/llvm-ranlib-@LLVM_VERSION@.1 diff --git a/llvm-compile-lto-elf.sh b/llvm-compile-lto-elf.sh new file mode 100644 index 0000000000..d0ae0ca348 --- /dev/null +++ b/llvm-compile-lto-elf.sh @@ -0,0 +1,59 @@ +#!/usr/bin/bash -eu + +# Initial version: +# https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/rawhide/f/brp-llvm-compile-lto-elf + +CLANG_FLAGS=$@ + +if test -z $P_TO_LLVM; then + echo "P_TO_LLVM isn't set" + exit 1 +fi + +if test -z $NJOBS; then + echo "NJOBS isn't set" + exit 1 +fi + +if test -z $VERSION; then + echo "VERSION isn't set" + exit 1 +fi + +NCPUS=$NJOBS + +check_convert_bitcode () { + local file_name=$(realpath ${1}) + local file_type=$(file ${file_name}) + shift + CLANG_FLAGS="$@" + + if [[ "${file_type}" == *"LLVM IR bitcode"* ]]; then + # check for an indication that the bitcode was + # compiled with -flto + ${P_TO_LLVM}/debian/tmp/usr/bin/llvm-bcanalyzer-${VERSION} -dump ${file_name} | grep -xP '.*\-flto((?!-fno-lto).)*' 2>&1 > /dev/null + if [ $? -eq 0 ]; then + echo "Compiling LLVM bitcode file ${file_name}." + ${P_TO_LLVM}/debian/tmp/usr/bin/clang-${VERSION} -fno-lto -opaque-pointers -Wno-unused-command-line-argument \ + -x ir ${file_name} -c -o ${file_name} + fi + elif [[ "${file_type}" == *"current ar archive"* ]]; then + echo "Unpacking ar archive ${file_name} to check for LLVM bitcode components." + # create archive stage for objects + local archive_stage=$(mktemp -d) + local archive=${file_name} + pushd ${archive_stage} + ar x ${archive} + for archived_file in $(find -not -type d); do + check_convert_bitcode ${archived_file} ${CLANG_FLAGS} + echo "Repacking ${archived_file} into ${archive}." + ${P_TO_LLVM}/debian/tmp/usr/bin/llvm-ar-${VERSION} r ${archive} ${archived_file} + done + popd + fi +} + +echo "Checking for LLVM bitcode artifacts" +export -f check_convert_bitcode +find "$P_TO_LLVM/debian/" -type f -name "*.[ao]" -print0 | \ + xargs -0 -r -n1 -P$NCPUS bash -c "check_convert_bitcode \$@ $CLANG_FLAGS" ARG0 diff --git a/llvm-libunwind1.install.in b/llvm-libunwind1.install.in new file mode 100644 index 0000000000..7ad93150d5 --- /dev/null +++ b/llvm-libunwind1.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/libunwind.so.* usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/llvm-libunwind1.links.in b/llvm-libunwind1.links.in new file mode 100644 index 0000000000..ab0b3ffbd6 --- /dev/null +++ b/llvm-libunwind1.links.in @@ -0,0 +1 @@ +# M-A: same: the links from the LLVM libdir to /usr/lib go to the -dev package diff --git a/llvm-libunwind1.lintian-overrides.in b/llvm-libunwind1.lintian-overrides.in new file mode 100644 index 0000000000..e7ed179c8c --- /dev/null +++ b/llvm-libunwind1.lintian-overrides.in @@ -0,0 +1 @@ +llvm-libunwind1: package-name-doesnt-match-sonames diff --git a/llvm-libunwind1.symbols b/llvm-libunwind1.symbols new file mode 100644 index 0000000000..e1808af475 --- /dev/null +++ b/llvm-libunwind1.symbols @@ -0,0 +1,51 @@ +# SymbolsHelper-Confirmed: 1:21 amd64 arm64 armhf i386 ppc64el s390x +libunwind.so.1 #PACKAGE# #MINVER# + _Unwind_Backtrace@Base 1:21 + (arch=armhf)_Unwind_Complete@Base 1:21 + _Unwind_DeleteException@Base 1:21 + _Unwind_FindEnclosingFunction@Base 1:21 + _Unwind_Find_FDE@Base 1:21 + _Unwind_ForcedUnwind@Base 1:21 + _Unwind_GetCFA@Base 1:21 + _Unwind_GetDataRelBase@Base 1:21 + _Unwind_GetGR@Base 1:21 + _Unwind_GetIP@Base 1:21 + _Unwind_GetIPInfo@Base 1:21 + _Unwind_GetLanguageSpecificData@Base 1:21 + _Unwind_GetRegionStart@Base 1:21 + _Unwind_GetTextRelBase@Base 1:21 + _Unwind_RaiseException@Base 1:21 + _Unwind_Resume@Base 1:21 + _Unwind_Resume_or_Rethrow@Base 1:21 + _Unwind_SetGR@Base 1:21 + _Unwind_SetIP@Base 1:21 + (arch=armhf)_Unwind_VRS_Get@Base 1:21 + (arch=armhf)_Unwind_VRS_Interpret@Base 1:21 + (arch=armhf)_Unwind_VRS_Pop@Base 1:21 + (arch=armhf)_Unwind_VRS_Set@Base 1:21 + (arch=!armhf)__deregister_frame@Base 1:21 + (arch=armhf)__gnu_unwind_frame@Base 1:21 + (arch=arm64)__libunwind_shstk_get_jump_target@Base 1:21 + (arch=arm64)__libunwind_shstk_get_registers@Base 1:21 + (arch=!armhf)__register_frame@Base 1:21 + (arch=!armhf)__unw_add_dynamic_eh_frame_section@Base 1:21 + (arch=!armhf)__unw_add_dynamic_fde@Base 1:21 + (arch=!armhf)__unw_remove_dynamic_eh_frame_section@Base 1:21 + (arch=!armhf)__unw_remove_dynamic_fde@Base 1:21 + (arch=armhf)decode_eht_entry@Base 1:21 + unw_get_fpreg@Base 1:21 + unw_get_proc_info@Base 1:21 + unw_get_proc_name@Base 1:21 + unw_get_reg@Base 1:21 + unw_getcontext@Base 1:21 + unw_init_local@Base 1:21 + unw_is_fpreg@Base 1:21 + unw_is_signal_frame@Base 1:21 + (arch=!armhf)unw_iterate_dwarf_unwind_cache@Base 1:21 + unw_local_addr_space@Base 1:21 + unw_regname@Base 1:21 + unw_resume@Base 1:21 + (arch=armhf)unw_save_vfp_as_X@Base 1:21 + unw_set_fpreg@Base 1:21 + unw_set_reg@Base 1:21 + unw_step@Base 1:21 diff --git a/llvm-priv-dev.dirs b/llvm-priv-dev.dirs new file mode 100644 index 0000000000..dab86638a5 --- /dev/null +++ b/llvm-priv-dev.dirs @@ -0,0 +1 @@ +/usr/lib/llvm-3.1/build diff --git a/mlir-X.Y-tools.install.in b/mlir-X.Y-tools.install.in new file mode 100644 index 0000000000..9d0d56bc68 --- /dev/null +++ b/mlir-X.Y-tools.install.in @@ -0,0 +1,7 @@ +usr/bin/mlir-* +usr/bin/tblgen-lsp-server-@LLVM_VERSION@ +usr/bin/tblgen-to-irdl-@LLVM_VERSION@ + +@LLVM_DIR@/bin/mlir-* +@LLVM_DIR@/bin/tblgen-lsp-server +@LLVM_DIR@/bin/tblgen-to-irdl diff --git a/mlir-X.Y-tools.lintian-overrides.in b/mlir-X.Y-tools.lintian-overrides.in new file mode 100644 index 0000000000..eaa2195df7 --- /dev/null +++ b/mlir-X.Y-tools.lintian-overrides.in @@ -0,0 +1,2 @@ +# known ... +mlir-@LLVM_VERSION@-tools: no-manual-page diff --git a/orig-tar.sh b/orig-tar.sh new file mode 100755 index 0000000000..efd20edf84 --- /dev/null +++ b/orig-tar.sh @@ -0,0 +1,185 @@ +#!/bin/sh +# This script will create the following tarball: +# llvm-toolchain-XX_XX\~+20200120101212+de4b2a7fad6.orig.tar.xz + +set -e + +# commands: +# sh 9/debian/orig-tar.sh release/9.x +# sh 9/debian/orig-tar.sh 9.0.0 rc3 +# sh 9/debian/orig-tar.sh 9.0.1 rc3 +# Stable release +# sh 9/debian/orig-tar.sh 9.0.0 9.0.0 + + +# To create an rc1 release: +# sh 9/debian/orig-tar.sh release/9.x +CURRENT_PATH=$(pwd) +EXPORT_PATH=$(pwd) + +if test -n "${JENKINS_HOME}"; then + # For apt.llvm.org, reuse the same repo + echo "Built from Jenkins. Will export the repo in $HOME/" + EXPORT_PATH="$HOME/" +fi + +GIT_BASE_URL=https://github.com/llvm/llvm-project +GIT_TOOLCHAIN_CHECK=https://github.com/opencollab/llvm-toolchain-integration-test-suite.git + +reset_repo () +{ + cd $1 + git clean -qfd + git checkout . + git remote update > /dev/null + git reset --hard origin/main > /dev/null + git clean -qfd + git checkout main > /dev/null + git pull + cd - +} + +PATH_DEBIAN="$(pwd)/$(dirname $0)/../" +cd "$PATH_DEBIAN" + +git stash && git pull && git stash apply || true + +MAJOR_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9]+).*,\1,p") +if test -z "$MAJOR_VERSION"; then + echo "Could not detect the major version" + exit 1 +fi + +CURRENT_VERSION=$(dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\1,p") +if test -z "$CURRENT_VERSION"; then + echo "Could not detect the full version" + exit 1 +fi + +cd - &> /dev/null +echo "MAJOR_VERSION=$MAJOR_VERSION / CURRENT_VERSION=$CURRENT_VERSION" +if test -n "$1"; then +# https://github.com/llvm/llvm-project/tree/release/9.x +# For example: sh 4.0/debian/orig-tar.sh release/9.x + BRANCH=$1 + if ! echo "$1"|grep -q release/; then + # The first argument is NOT a branch, means that it is a stable release + FINAL_RELEASE=true + EXACT_VERSION=$1 + fi +else + # No argument, we need trunk + cd "$PATH_DEBIAN" + SOURCE=$(dpkg-parsechangelog |grep ^Source|awk '{print $2}') + cd - &> /dev/null + if test "$SOURCE" != "llvm-toolchain-snapshot"; then + echo "Checkout of the main is only available for llvm-toolchain-snapshot" + exit 1 + fi + BRANCH="main" +fi + +if test -n "$1" -a -n "$2"; then +# https://github.com/llvm/llvm-project/releases/tag/llvmorg-9.0.0 +# For example: sh 4.0/debian/orig-tar.sh 4.0.1 rc3 +# or sh 9/debian/orig-tar.sh 9.0.0 + TAG=$2 + RCRELEASE="true" + EXACT_VERSION=$1 +fi + +# Update or retrieve the repo +mkdir -p git-archive +cd git-archive +if test -d $EXPORT_PATH/llvm-project; then + echo "Updating repo in $EXPORT_PATH/llvm-project" + # Update it + reset_repo $EXPORT_PATH/llvm-project +else + # Download it + echo "Cloning the repo in $EXPORT_PATH/llvm-project" + git clone $GIT_BASE_URL $EXPORT_PATH/llvm-project +fi + +if test -d $EXPORT_PATH/llvm-toolchain-integration-test-suite; then + echo "Updating repo in $EXPORT_PATH/llvm-toolchain-integration-test-suite" + # Update it + reset_repo $EXPORT_PATH/llvm-toolchain-integration-test-suite +else + echo "Clone llvm-toolchain-integration-test-suite into $EXPORT_PATH/llvm-toolchain-integration-test-suite" + git clone $GIT_TOOLCHAIN_CHECK $EXPORT_PATH/llvm-toolchain-integration-test-suite +fi + +cd $EXPORT_PATH/llvm-project +if test -z "$TAG" -a -z "$FINAL_RELEASE"; then + # Building a branch + git checkout $BRANCH + git reset --hard origin/$BRANCH + if test $BRANCH != "main"; then + VERSION=$(echo $BRANCH|cut -d/ -f2|cut -d. -f1) + if ! echo "$MAJOR_VERSION"|grep -q "$VERSION"; then + echo "mismatch in version: Dir=$MAJOR_VERSION Provided=$VERSION" + exit 1 + fi + else + # No argument, take main. So, it can only be snapshot + VERSION=$MAJOR_VERSION + MAJOR_VERSION=snapshot + fi + if test $MAJOR_VERSION != "snapshot"; then + # When upstream released X, they will update X to have X.0.1 + # In general, in Debian, we will keep X until X.0.1 is released (or rc in experimental) + # However, on apt.llvm.org, we will update the version to have X.0.1 + # This code is doing that. + CURRENT_VERSION="$(grep -oP 'set\(\s*LLVM_VERSION_(MAJOR|MINOR|PATCH)\s\K[0-9]+' cmake/Modules/LLVMVersion.cmake | paste -sd '.')" + fi + # the + is here to make sure that this version is considered more recent than the svn + # dpkg --compare-versions 10~svn374977-1~exp1 lt 10~+2019-svn374977-1~exp1 + # to verify that + VERSION="${CURRENT_VERSION}~++$(date +'%Y%m%d%I%M%S')+$(git log -1 --pretty=format:'%h')" + echo "CURRENT = ${CURRENT_VERSION}" +else + + if ! echo "$EXACT_VERSION"|grep -q "$MAJOR_VERSION"; then + echo "Mismatch in version: Dir=$MAJOR_VERSION Provided=$EXACT_VERSION" + exit 1 + fi + git_tag="llvmorg-$EXACT_VERSION" + VERSION=$EXACT_VERSION + if test -n "$TAG"; then + git_tag="$git_tag-$TAG" + VERSION="$VERSION~+$TAG" + fi + + git checkout "$git_tag" > /dev/null + +fi + +# cleanup +rm -rf */www/ build/ build-llvm/ + +cd ../ +BASE="llvm-toolchain-${MAJOR_VERSION}_${VERSION}" +FILENAME="${BASE}.orig.tar.xz" +cp -R llvm-toolchain-integration-test-suite llvm-project/integration-test-suite +# Argument to compress faster (for the cost of time) +export XZ_OPT="-4 -T$(nproc)" +echo "Compressing to $FILENAME" +time tar Jcf $CURRENT_PATH/"$FILENAME" --exclude .git --exclude .gitattributes --exclude .git-blame-ignore-revs --exclude .gitignore --exclude .github --exclude build-llvm --transform="s|llvm-project|$BASE|" -C $EXPORT_PATH llvm-project +rm -rf llvm-project/integration-test-suite + +export DEBFULLNAME="Sylvestre Ledru" +export DEBEMAIL="sylvestre@debian.org" +cd "$PATH_DEBIAN" + +if test -z "$DISTRIBUTION"; then + DISTRIBUTION="experimental" +fi + +if test -n "$RCRELEASE" -o -n "$BRANCH"; then + EXTRA_DCH_FLAGS="--force-bad-version --allow-lower-version" +fi + +dch $EXTRA_DCH_FLAGS --distribution $DISTRIBUTION --newversion 1:"$VERSION"-1~exp1 "New snapshot release" + +exit 0 diff --git a/packages.common b/packages.common new file mode 100644 index 0000000000..40e8f9f2fb --- /dev/null +++ b/packages.common @@ -0,0 +1,4 @@ +libc++1 +libc++abi1 +libomp5 +llvm-libunwind1 diff --git a/packages.ocaml b/packages.ocaml new file mode 100644 index 0000000000..297bb1638b --- /dev/null +++ b/packages.ocaml @@ -0,0 +1 @@ +libllvm-21-ocaml-dev diff --git a/packages.ocaml.in b/packages.ocaml.in new file mode 100644 index 0000000000..d0caf5c33e --- /dev/null +++ b/packages.ocaml.in @@ -0,0 +1 @@ +libllvm-@LLVM_VERSION@-ocaml-dev diff --git a/patches/0044-soname.diff b/patches/0044-soname.diff new file mode 100644 index 0000000000..4fd8a1e794 --- /dev/null +++ b/patches/0044-soname.diff @@ -0,0 +1,31 @@ +--- + clang/tools/libclang/CMakeLists.txt | 2 +- + tools/llvm-shlib/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/clang/tools/libclang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/clang/tools/libclang/CMakeLists.txt +@@ -130,7 +130,7 @@ if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHE + remove_definitions("-D_XOPEN_SOURCE=700") + endif() + +-add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN ++add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC} INSTALL_WITH_TOOLCHAIN SONAME + OUTPUT_NAME ${output_name} + ${SOURCES} + +Index: llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/llvm/tools/llvm-shlib/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62.orig/llvm/tools/llvm-shlib/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/llvm/tools/llvm-shlib/CMakeLists.txt +@@ -50,6 +50,8 @@ if(LLVM_BUILD_LLVM_DYLIB) + target_link_options(LLVM PRIVATE LINKER:--export-all-symbols) + endif() + ++ set_property(TARGET LLVM PROPERTY VERSION "1") # Append .1 to SONAME ++ + list(REMOVE_DUPLICATES LIB_NAMES) + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") + set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) diff --git a/patches/0048-Set-html_static_path-_static-everywhere.patch b/patches/0048-Set-html_static_path-_static-everywhere.patch new file mode 100644 index 0000000000..5c31c307a6 --- /dev/null +++ b/patches/0048-Set-html_static_path-_static-everywhere.patch @@ -0,0 +1,50 @@ +From: Nicholas D Steeves +Date: Sat, 10 Feb 2018 21:00:55 -0500 +Subject: Set html_static_path = ['_static'] everywhere. + +--- + clang-tools-extra/docs/conf.py | 2 +- + clang/docs/analyzer/conf.py | 2 +- + clang/docs/conf.py | 2 +- + polly/docs/conf.py | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/docs/analyzer/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/docs/analyzer/conf.py +@@ -118,7 +118,7 @@ html_theme = "haiku" + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/docs/conf.py +@@ -127,7 +127,7 @@ html_theme = "haiku" + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/polly/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/polly/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/polly/docs/conf.py +@@ -124,7 +124,7 @@ except ImportError: + # Add any paths that contain custom static files (such as style sheets) here, + # relative to this directory. They are copied after the builtin static files, + # so a file named "default.css" will overwrite the builtin "default.css". +-html_static_path = [] ++html_static_path = ['_static'] + + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. diff --git a/patches/0049-Use-Debian-provided-MathJax-everywhere.patch b/patches/0049-Use-Debian-provided-MathJax-everywhere.patch new file mode 100644 index 0000000000..402fae5cf8 --- /dev/null +++ b/patches/0049-Use-Debian-provided-MathJax-everywhere.patch @@ -0,0 +1,109 @@ +From: Nicholas D Steeves +Date: Sat, 10 Feb 2018 21:02:17 -0500 +Subject: Use Debian-provided MathJax everywhere. + +--- + clang-tools-extra/docs/Doxyfile | 2 +- + clang-tools-extra/docs/conf.py | 3 +++ + clang-tools-extra/docs/doxygen.cfg.in | 2 +- + clang/docs/analyzer/conf.py | 3 +++ + clang/docs/conf.py | 3 +++ + clang/docs/doxygen.cfg.in | 2 +- + docs/doxygen.cfg.in | 2 +- + polly/docs/doxygen.cfg.in | 2 +- + 8 files changed, 14 insertions(+), 5 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang-tools-extra/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/conf.py +@@ -119,6 +119,9 @@ html_theme = "haiku" + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ["_static"] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + # html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang-tools-extra/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/doxygen.cfg.in +@@ -1443,7 +1443,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/analyzer/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/docs/analyzer/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/analyzer/conf.py +@@ -120,6 +120,9 @@ html_theme = "haiku" + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ['_static'] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + # html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/conf.py +@@ -129,6 +129,9 @@ html_theme = "haiku" + # so a file named "default.css" will overwrite the builtin "default.css". + html_static_path = ['_static'] + ++# Use Debian-provided MathJax ++mathjax_path = '/usr/share/javascript/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML' ++ + # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, + # using the given strftime format. + # html_last_updated_fmt = '%b %d, %Y' +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/doxygen.cfg.in +@@ -1432,7 +1432,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/docs/doxygen.cfg.in +@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/polly/docs/doxygen.cfg.in +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/polly/docs/doxygen.cfg.in ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/polly/docs/doxygen.cfg.in +@@ -1433,7 +1433,7 @@ MATHJAX_FORMAT = HTML-CSS + # The default value is: http://cdn.mathjax.org/mathjax/latest. + # This tag requires that the tag USE_MATHJAX is set to YES. + +-MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example diff --git a/patches/23-strlcpy_strlcat_warning_removed.diff b/patches/23-strlcpy_strlcat_warning_removed.diff new file mode 100644 index 0000000000..192715afb2 --- /dev/null +++ b/patches/23-strlcpy_strlcat_warning_removed.diff @@ -0,0 +1,194 @@ +--- + clang/include/clang/Basic/Builtins.def | 8 +- + clang/lib/AST/Decl.cpp | 12 +-- + clang/lib/Sema/SemaChecking.cpp | 11 +- + clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp | 6 - + clang/test/Sema/builtins.c | 11 +- + clang/test/Sema/warn-strlcpycat-size.c | 55 -------------- + 6 files changed, 25 insertions(+), 78 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/AST/Decl.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/lib/AST/Decl.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/AST/Decl.cpp +@@ -4489,13 +4489,13 @@ unsigned FunctionDecl::getMemoryFunction + case Builtin::BImemmove: + return Builtin::BImemmove; + +- case Builtin::BIstrlcpy: +- case Builtin::BI__builtin___strlcpy_chk: +- return Builtin::BIstrlcpy; ++// case Builtin::BIstrlcpy: ++// case Builtin::BI__builtin___strlcpy_chk: ++// return Builtin::BIstrlcpy; + +- case Builtin::BIstrlcat: +- case Builtin::BI__builtin___strlcat_chk: +- return Builtin::BIstrlcat; ++// case Builtin::BIstrlcat: ++// case Builtin::BI__builtin___strlcat_chk: ++// return Builtin::BIstrlcat; + + case Builtin::BI__builtin_memcmp: + case Builtin::BImemcmp: +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/Sema/SemaChecking.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/lib/Sema/SemaChecking.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/Sema/SemaChecking.cpp +@@ -1346,8 +1346,8 @@ void Sema::checkFortifiedBuiltinMemoryFu + case Builtin::BI__builtin___memcpy_chk: + case Builtin::BI__builtin___memmove_chk: + case Builtin::BI__builtin___memset_chk: +- case Builtin::BI__builtin___strlcat_chk: +- case Builtin::BI__builtin___strlcpy_chk: ++// case Builtin::BI__builtin___strlcat_chk: ++// case Builtin::BI__builtin___strlcpy_chk: + case Builtin::BI__builtin___strncat_chk: + case Builtin::BI__builtin___strncpy_chk: + case Builtin::BI__builtin___stpncpy_chk: +@@ -3597,10 +3597,10 @@ bool Sema::CheckFunctionCall(FunctionDec + switch (CMId) { + case 0: + return false; +- case Builtin::BIstrlcpy: // fallthrough ++/* case Builtin::BIstrlcpy: // fallthrough + case Builtin::BIstrlcat: + CheckStrlcpycatArguments(TheCall, FnInfo); +- break; ++ break;*/ + case Builtin::BIstrncat: + CheckStrncatArguments(TheCall, FnInfo); + break; +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +@@ -743,9 +743,9 @@ void GenericTaintChecker::initTaintRules + TR::Prop({{1, 2}}, {{0, ReturnValueIndex}})}, + {{CDM::CLibraryMaybeHardened, {"strncat"}}, + TR::Prop({{0, 1, 2}}, {{0, ReturnValueIndex}})}, +- {{CDM::CLibraryMaybeHardened, {"strlcpy"}}, TR::Prop({{1, 2}}, {{0}})}, ++/* {{CDM::CLibraryMaybeHardened, {"strlcpy"}}, TR::Prop({{1, 2}}, {{0}})}, + {{CDM::CLibraryMaybeHardened, {"strlcat"}}, TR::Prop({{0, 1, 2}}, {{0}})}, +- ++*/ + // Usually the matching mode `CDM::CLibraryMaybeHardened` is sufficient + // for unified handling of a function `FOO()` and its hardened variant + // `__FOO_chk()`, but in the "sprintf" family the extra parameters of the +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/test/Sema/builtins.c +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/test/Sema/builtins.c ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/test/Sema/builtins.c +@@ -195,12 +195,10 @@ void test18(void) { + void *ptr; + + ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src), sizeof(dst)); +- result = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); + result = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); + + ptr = __builtin___memccpy_chk(dst, src, '\037', sizeof(src)); // expected-error {{too few arguments to function call}} + ptr = __builtin___strlcpy_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-error {{incompatible integer to pointer conversion}} +- ptr = __builtin___strlcat_chk(dst, src, sizeof(dst), sizeof(dst)); // expected-error {{incompatible integer to pointer conversion}} + } + + void no_ms_builtins(void) { +@@ -214,7 +212,8 @@ void unavailable(void) { + __builtin_operator_delete(0); // expected-error {{'__builtin_operator_delete' is only available in C++}} + } + +-size_t strlcpy(char * restrict dst, const char * restrict src, size_t size); ++/* ++ size_t strlcpy(char * restrict dst, const char * restrict src, size_t size); + size_t strlcat(char * restrict dst, const char * restrict src, size_t size); + + void Test19(void) +@@ -235,6 +234,7 @@ void Test19(void) + // expected-note {{change size argument to be the size of the destination}} \ + // expected-warning {{'strlcat' will always overflow; destination buffer has size 20, but size argument is 40}} + } ++*/ + + char * Test20(char *p, const char *in, unsigned n) + { +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/test/Sema/warn-strlcpycat-size.c +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/test/Sema/warn-strlcpycat-size.c ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/test/Sema/warn-strlcpycat-size.c +@@ -1,55 +0,0 @@ +-// RUN: %clang_cc1 -Wstrlcpy-strlcat-size -verify -fsyntax-only %s +- +-typedef __SIZE_TYPE__ size_t; +-size_t strlcpy (char * restrict dst, const char * restrict src, size_t size); +-size_t strlcat (char * restrict dst, const char * restrict src, size_t size); +-size_t strlen (const char *s); +- +-char s1[100]; +-char s2[200]; +-char * s3; +- +-struct { +- char f1[100]; +- char f2[100][3]; +-} s4, **s5; +- +-int x; +- +-void f(void) +-{ +- strlcpy(s1, s2, sizeof(s1)); // no warning +- strlcpy(s1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s1, s3, strlen(s3)+1); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcat(s2, s3, sizeof(s3)); // expected-warning {{size argument in 'strlcat' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s4.f1, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy((*s5)->f2[x], s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +- strlcpy(s1+3, s2, sizeof(s2)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Don't issue FIXIT for flexible arrays. +-struct S { +- int y; +- char x[]; +-}; +- +-void flexible_arrays(struct S *s) { +- char str[] = "hi"; +- strlcpy(s->x, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Don't issue FIXIT for destinations of size 1. +-void size_1(void) { +- char z[1]; +- char str[] = "hi"; +- +- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} +-} +- +-// Support VLAs. +-void vlas(int size) { +- char z[size]; +- char str[] = "hi"; +- +- strlcpy(z, str, sizeof(str)); // expected-warning {{size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination}} expected-note {{change size argument to be the size of the destination}} +-} +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/include/clang/Basic/Builtins.td +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/include/clang/Basic/Builtins.td ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/include/clang/Basic/Builtins.td +@@ -3423,7 +3423,8 @@ def SigLongJmp : GNULibBuiltin<"setjmp.h + + // non-standard but very common + +-def StrlCpy : GNULibBuiltin<"string.h"> { ++/* ++ def StrlCpy : GNULibBuiltin<"string.h"> { + let Spellings = ["strlcpy"]; + let Prototype = "size_t(char*, char const*, size_t)"; + } +@@ -3432,6 +3433,7 @@ def StrlCat : GNULibBuiltin<"string.h"> + let Spellings = ["strlcat"]; + let Prototype = "size_t(char*, char const*, size_t)"; + } ++*/ + + def ObjcMsgSend : ObjCLibBuiltin<"objc_message.h"> { + let Spellings = ["objc_msgSend"]; diff --git a/patches/26-set-correct-float-abi.diff b/patches/26-set-correct-float-abi.diff new file mode 100644 index 0000000000..66d199c1aa --- /dev/null +++ b/patches/26-set-correct-float-abi.diff @@ -0,0 +1,33 @@ +Description: set correct float abi settings for armel and armhf + debian armel supports systems that don't have a fpu so should use a "float abi" + setting of soft by default. + + Debian armhf needs a float abi setting of "hard" +Author: Peter Michael Green + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Arch/ARM.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/Arch/ARM.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Arch/ARM.cpp +@@ -467,7 +467,7 @@ arm::FloatABI arm::getDefaultFloatABI(co + case llvm::Triple::MuslEABI: + case llvm::Triple::EABI: + // EABI is always AAPCS, and if it was not marked 'hard', it's softfp +- return FloatABI::SoftFP; ++ return FloatABI::Soft; + default: + return FloatABI::Invalid; + } diff --git a/patches/930008-arm.diff b/patches/930008-arm.diff new file mode 100644 index 0000000000..056af2cb1e --- /dev/null +++ b/patches/930008-arm.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/lib/TargetParser/ARMTargetParser.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/lib/TargetParser/ARMTargetParser.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/lib/TargetParser/ARMTargetParser.cpp +@@ -657,7 +657,7 @@ StringRef ARM::getARMCPUForArch(const ll + case llvm::Triple::GNUEABIHF: + case llvm::Triple::GNUEABIHFT64: + case llvm::Triple::MuslEABIHF: +- return "arm1176jzf-s"; ++ return "cortex-a7"; + default: + return "arm7tdmi"; + } diff --git a/patches/D148945-revert.diff b/patches/D148945-revert.diff new file mode 100644 index 0000000000..027d859f8c --- /dev/null +++ b/patches/D148945-revert.diff @@ -0,0 +1,23 @@ +Restore that for now, we're not GenToo ... + +https://reviews.llvm.org/D148945 +https://reviews.llvm.org/D122444 + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Linux.cpp +@@ -352,6 +352,13 @@ Linux::Linux(const Driver &D, const llvm + + Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); + ++ // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs ++ // libc++.so in D.Dir+"/../lib/". Detect this path. ++ // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported. ++ if (StringRef(D.Dir).starts_with(SysRoot) && ++ D.getVFS().exists(D.Dir + "/../lib/libc++.so")) ++ addPathIfExists(D, D.Dir + "/../lib", Paths); ++ + addPathIfExists(D, concat(SysRoot, "/lib"), Paths); + addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths); + } diff --git a/patches/D67877-cmake-clang-example.patch b/patches/D67877-cmake-clang-example.patch new file mode 100644 index 0000000000..2cf1db9de0 --- /dev/null +++ b/patches/D67877-cmake-clang-example.patch @@ -0,0 +1,38 @@ +Origin: https://reviews.llvm.org/D67877 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941082 + +Index: llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Analysis/plugins/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/lib/Analysis/plugins/CMakeLists.txt ++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/lib/Analysis/plugins/CMakeLists.txt +@@ -1,4 +1,4 @@ +-if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS) ++if(CLANG_ENABLE_STATIC_ANALYZER AND LLVM_ENABLE_PLUGINS AND CLANG_BUILD_EXAMPLES) + add_subdirectory(SampleAnalyzer) + add_subdirectory(CheckerDependencyHandling) + add_subdirectory(CheckerOptionHandling) +Index: llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_11~++20200409051253+d08105482e1.orig/clang/test/CMakeLists.txt ++++ llvm-toolchain-snapshot_11~++20200409051253+d08105482e1/clang/test/CMakeLists.txt +@@ -138,14 +138,12 @@ if( NOT CLANG_BUILT_STANDALONE ) + endif() + endif() + +-if (CLANG_ENABLE_STATIC_ANALYZER) +- if (LLVM_ENABLE_PLUGINS) +- list(APPEND CLANG_TEST_DEPS +- SampleAnalyzerPlugin +- CheckerDependencyHandlingAnalyzerPlugin +- CheckerOptionHandlingAnalyzerPlugin +- ) +- endif() ++if (CLANG_ENABLE_STATIC_ANALYZER AND CLANG_BUILD_EXAMPLES AND LLVM_ENABLE_PLUGINS) ++ list(APPEND CLANG_TEST_DEPS ++ SampleAnalyzerPlugin ++ CheckerDependencyHandlingAnalyzerPlugin ++ CheckerOptionHandlingAnalyzerPlugin ++ ) + endif() + + # Copy gen_ast_dump_json_test.py to the clang build dir. This allows invoking diff --git a/patches/arm32-defaults.diff b/patches/arm32-defaults.diff new file mode 100644 index 0000000000..5c13069584 --- /dev/null +++ b/patches/arm32-defaults.diff @@ -0,0 +1,16 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/lib/TargetParser/ARMTargetParser.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/lib/TargetParser/ARMTargetParser.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/lib/TargetParser/ARMTargetParser.cpp +@@ -657,9 +657,9 @@ StringRef ARM::getARMCPUForArch(const ll + case llvm::Triple::GNUEABIHF: + case llvm::Triple::GNUEABIHFT64: + case llvm::Triple::MuslEABIHF: +- return "cortex-a7"; ++ return "cortex-a8"; + default: +- return "arm7tdmi"; ++ return "arm926ej-s"; + } + } + diff --git a/patches/bolt-disable-emit-relocs.patch b/patches/bolt-disable-emit-relocs.patch new file mode 100644 index 0000000000..ced2585520 --- /dev/null +++ b/patches/bolt-disable-emit-relocs.patch @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/bolt/tools/merge-fdata/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/bolt/tools/merge-fdata/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/bolt/tools/merge-fdata/CMakeLists.txt +@@ -12,6 +12,6 @@ add_bolt_tool(merge-fdata + add_dependencies(bolt merge-fdata) + + # Emit relocations for BOLT meta test (bolt/test/runtime/meta-merge-fdata.test) +-if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE) +- target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs) +-endif() ++# if (BOLT_INCLUDE_TESTS AND UNIX AND NOT APPLE) ++# target_link_options(merge-fdata PRIVATE LINKER:--emit-relocs) ++# endif() diff --git a/patches/bolt-disable-proc-check.diff b/patches/bolt-disable-proc-check.diff new file mode 100644 index 0000000000..0bb9409baf --- /dev/null +++ b/patches/bolt-disable-proc-check.diff @@ -0,0 +1,23 @@ +bolt: Disable the check for /proc/self/map_files. Might not be available on build machines + +Index: llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227/bolt/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227.orig/bolt/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227/bolt/CMakeLists.txt +@@ -94,16 +94,6 @@ if ((CMAKE_SYSTEM_PROCESSOR STREQUAL "x8 + set(BOLT_ENABLE_RUNTIME_default ON) + endif() + option(BOLT_ENABLE_RUNTIME "Enable BOLT runtime" ${BOLT_ENABLE_RUNTIME_default}) +-if (BOLT_ENABLE_RUNTIME) +- # Some systems prevent reading /proc/self/map_files +- execute_process(COMMAND ls /proc/self/map_files +- RESULT_VARIABLE LS OUTPUT_QUIET ERROR_QUIET) +- if (LS) +- message(WARNING +- "BOLT runtime may not be able to read /proc/self/map_files. Please use +- `--instrumentation-binpath ` option.") +- endif() +-endif() + + set(BOLT_CLANG_EXE "" CACHE FILEPATH "Path to clang executable for the target \ + architecture for use in BOLT tests") diff --git a/patches/bootstrap-fix-include-next.diff b/patches/bootstrap-fix-include-next.diff new file mode 100644 index 0000000000..ed7207e330 --- /dev/null +++ b/patches/bootstrap-fix-include-next.diff @@ -0,0 +1,41 @@ +When doing a bootstrap, we use a newly built clang. +When this one is used, if already installed on the system, +we have clang header in two places: +llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h +and +/usr/include/clang/7.0.0/include/inttypes.h + +Because clang expects only one of his headers to be available, it uses +include_next to get the glibc (libc6-dev package) header. + +However, in the previous example, because we have inttypes.h twice in the +include search path, clang's header will call itself without any effect. +Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H) + + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Headers/inttypes.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/lib/Headers/inttypes.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Headers/inttypes.h +@@ -6,7 +6,7 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_INTTYPES_H ++#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H) + // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T + // is defined until an inclusion of it without _STD_TYPES_T occurs, in which + // case the header guard macro is defined. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Headers/limits.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/lib/Headers/limits.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Headers/limits.h +@@ -6,7 +6,7 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_LIMITS_H ++#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_) + #define __CLANG_LIMITS_H + + #if defined(__MVS__) && __has_include_next() diff --git a/patches/clang-analyzer-force-version.diff b/patches/clang-analyzer-force-version.diff new file mode 100644 index 0000000000..98a0ca7a43 --- /dev/null +++ b/patches/clang-analyzer-force-version.diff @@ -0,0 +1,16 @@ +# Force the version of clang in the analyzer +# This was causing the static analyzer to fail silently if the clang & clang++ are +# not installed +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-build/libexec/ccc-analyzer +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/scan-build/libexec/ccc-analyzer ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-build/libexec/ccc-analyzer +@@ -76,7 +76,7 @@ sub silent_system { + + sub DetermineClang { + my ($is_cxx) = @_; +- my $default = $is_cxx ? 'clang++' : 'clang'; ++ my $default = $is_cxx ? 'clang++-21' : 'clang-21'; + my $opt = $ENV{$is_cxx ? 'CLANG_CXX' : 'CLANG'}; + return defined $opt ? $opt : $default; + } diff --git a/patches/clang-arm-default-vfp3-on-armv7a.patch b/patches/clang-arm-default-vfp3-on-armv7a.patch new file mode 100644 index 0000000000..33c48e628a --- /dev/null +++ b/patches/clang-arm-default-vfp3-on-armv7a.patch @@ -0,0 +1,29 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/include/llvm/TargetParser/ARMTargetParser.def +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/include/llvm/TargetParser/ARMTargetParser.def ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/include/llvm/TargetParser/ARMTargetParser.def +@@ -92,8 +92,8 @@ ARM_ARCH("armv6kz", ARMV6KZ, "6KZ", "+v6 + FK_VFPV2, (ARM::AEK_SEC | ARM::AEK_DSP)) + ARM_ARCH("armv6-m", ARMV6M, "6-M", "+v6m", ARMBuildAttrs::CPUArch::v6_M, + FK_NONE, ARM::AEK_NONE) +-ARM_ARCH("armv7-a", ARMV7A, "7-A", "+v7", ARMBuildAttrs::CPUArch::v7, FK_NEON, +- ARM::AEK_DSP) ++ARM_ARCH("armv7-a", ARMV7A, "7-A", "+v7", ARMBuildAttrs::CPUArch::v7, ++ FK_VFPV3_D16 /* Hard float */, ARM::AEK_DSP) + ARM_ARCH("armv7ve", ARMV7VE, "7VE", "+v7ve", ARMBuildAttrs::CPUArch::v7, + FK_NEON, + (ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | ARM::AEK_HWDIVARM | +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/lib/Target/ARM/ARMArchitectures.td +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/lib/Target/ARM/ARMArchitectures.td ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/lib/Target/ARM/ARMArchitectures.td +@@ -42,7 +42,8 @@ def ARMv6sm : Architecture<"armv6s-m", + FeatureStrictAlign]>; + + def ARMv7a : Architecture<"armv7-a", "ARMv7a", [HasV7Ops, +- FeatureNEON, ++ FeatureVFP3, ++ FeatureVFP3_D16, + FeatureDB, + FeatureDSP, + FeatureAClass, diff --git a/patches/clang-format-version.diff b/patches/clang-format-version.diff new file mode 100644 index 0000000000..c03b898eee --- /dev/null +++ b/patches/clang-format-version.diff @@ -0,0 +1,45 @@ +--- + clang/tools/clang-format/clang-format-diff.py | 2 +- + clang/tools/clang-format/clang-format.el | 2 +- + clang/tools/clang-format/clang-format.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format-diff.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/clang-format/clang-format-diff.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format-diff.py +@@ -93,7 +93,7 @@ def main(): + ) + parser.add_argument( + "-binary", +- default="clang-format", ++ default="clang-format-21", + help="location of binary to use for clang-format", + ) + args = parser.parse_args() +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format.el +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/clang-format/clang-format.el ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format.el +@@ -39,7 +39,7 @@ + :group 'tools) + + (defcustom clang-format-executable +- (or (executable-find "clang-format") ++ (or (executable-find "clang-format-21") + "clang-format") + "Location of the clang-format executable. + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/clang-format/clang-format.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/clang-format/clang-format.py +@@ -49,7 +49,7 @@ import vim + + # set g:clang_format_path to the path to clang-format if it is not on the path + # Change this to the full path if clang-format is not on the path. +-binary = "clang-format" ++binary = "clang-format-21" + if vim.eval('exists("g:clang_format_path")') == "1": + binary = vim.eval("g:clang_format_path") + diff --git a/patches/clang-tidy-run-bin.diff b/patches/clang-tidy-run-bin.diff new file mode 100644 index 0000000000..e1809a2c3a --- /dev/null +++ b/patches/clang-tidy-run-bin.diff @@ -0,0 +1,18 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py +@@ -300,10 +300,12 @@ async def main() -> None: + help="Allow alpha checkers from clang-analyzer.", + ) + parser.add_argument( +- "-clang-tidy-binary", metavar="PATH", help="Path to clang-tidy binary." ++ "-clang-tidy-binary", metavar="PATH", help="Path to clang-tidy binary.", ++ default='clang-tidy-21' + ) + parser.add_argument( + "-clang-apply-replacements-binary", ++ default='clang-apply-replacements-21', + metavar="PATH", + help="Path to clang-apply-replacements binary.", + ) diff --git a/patches/clangd-atomic-cmake.patch b/patches/clangd-atomic-cmake.patch new file mode 100644 index 0000000000..8ba363df5b --- /dev/null +++ b/patches/clangd-atomic-cmake.patch @@ -0,0 +1,24 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/clangd/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang-tools-extra/clangd/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/clangd/CMakeLists.txt +@@ -61,6 +61,11 @@ endif() + include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}/../clang-tidy") + include_directories(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}/../include-cleaner/include") + ++if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i386" OR ++ CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686") ++ list(APPEND CLANGD_ATOMIC_LIB "atomic") ++endif() ++ + add_clang_library(clangDaemon STATIC + AST.cpp + ASTSignals.cpp +@@ -180,6 +185,7 @@ clang_target_link_libraries(clangDaemon + target_link_libraries(clangDaemon + PRIVATE + ${LLVM_PTHREAD_LIB} ++ ${CLANGD_ATOMIC_LIB} + + clangIncludeCleaner + clangTidy diff --git a/patches/cmake-issue-126358.diff b/patches/cmake-issue-126358.diff new file mode 100644 index 0000000000..45ce9ab3b6 --- /dev/null +++ b/patches/cmake-issue-126358.diff @@ -0,0 +1,13 @@ +diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt +index 1c4c0cd5aa22b..47708c2267818 100644 +--- a/libc/CMakeLists.txt ++++ b/libc/CMakeLists.txt +@@ -51,7 +51,7 @@ set(LIBC_KERNEL_HEADERS "/usr/include" CACHE STRING "Path to Linux kernel header + # Defining a global namespace to enclose all libc functions. + set(default_namespace "__llvm_libc") + if(LLVM_VERSION_MAJOR) +- string(REPLACE "-" "" NS_LLVM_VERSION_SUFFIX ${LLVM_VERSION_SUFFIX}) ++ string(REPLACE "-" "" NS_LLVM_VERSION_SUFFIX "${LLVM_VERSION_SUFFIX}") + set(default_namespace "__llvm_libc_${LLVM_VERSION_MAJOR}_${LLVM_VERSION_MINOR}_${LLVM_VERSION_PATCH}_${NS_LLVM_VERSION_SUFFIX}") + endif() + set(LIBC_NAMESPACE ${default_namespace} diff --git a/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff b/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff new file mode 100644 index 0000000000..1f70fcfa68 --- /dev/null +++ b/patches/compiler-rt/compilerrt-build-scudo-standalone-option.diff @@ -0,0 +1,19 @@ +add option to disable compiler-rt scudo standalone allocator as it is +not always supported by all arch profiles such as arm5vt of ARM32 arch +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/CMakeLists.txt +@@ -309,6 +309,12 @@ option(COMPILER_RT_USE_ATOMIC_LIBRARY "U + + include(config-ix) + ++option(COMPILER_RT_BUILD_SCUDO_STANDALONE ++ "override whether or not to build scudo standalone" ON) ++if(NOT COMPILER_RT_BUILD_SCUDO_STANDALONE) ++ set(COMPILER_RT_HAS_SCUDO_STANDALONE FALSE) ++endif() ++ + #================================ + # Setup Compiler Flags + #================================ diff --git a/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff b/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff new file mode 100644 index 0000000000..1d1924e9ec --- /dev/null +++ b/patches/compiler-rt/compilerrt-builtins-arch-fix-armhf.diff @@ -0,0 +1,18 @@ +fix builtins armhf default arch detection by adding the same armhf triple +handling use for compiler-rt +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/builtins/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/builtins/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/builtins/CMakeLists.txt +@@ -29,6 +29,11 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR + load_llvm_config() + endif() + construct_compiler_rt_default_triple() ++ if ("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES ".*hf$") ++ if (${COMPILER_RT_DEFAULT_TARGET_ARCH} MATCHES "^arm") ++ set(COMPILER_RT_DEFAULT_TARGET_ARCH "armhf") ++ endif() ++ endif() + + include(SetPlatformToolchainTools) + if(APPLE) diff --git a/patches/debug-jit-path.diff b/patches/debug-jit-path.diff new file mode 100644 index 0000000000..c6170cfd57 --- /dev/null +++ b/patches/debug-jit-path.diff @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +@@ -306,8 +306,8 @@ bool PerfJITEventListener::InitDebugging + // search for location to dump data to + if (const char *BaseDir = getenv("JITDUMPDIR")) + Path.append(BaseDir); +- else if (!sys::path::home_directory(Path)) +- Path = "."; ++ else ++ sys::path::system_temp_directory(/*ErasedOnReboot*/ true, Path); + + // create debug directory + Path += "/.debug/jit/"; diff --git a/patches/declare_clear_cache.diff b/patches/declare_clear_cache.diff new file mode 100644 index 0000000000..ee7a2c2adf --- /dev/null +++ b/patches/declare_clear_cache.diff @@ -0,0 +1,17 @@ +--- + lib/Support/Unix/Memory.inc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/lib/Support/Unix/Memory.inc +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/lib/Support/Unix/Memory.inc ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/lib/Support/Unix/Memory.inc +@@ -243,7 +243,7 @@ void Memory::InvalidateInstructionCache( + // FIXME: Can we safely always call this for __GNUC__ everywhere? + const char *Start = static_cast(Addr); + const char *End = Start + Len; +- __clear_cache(const_cast(Start), const_cast(End)); ++ __builtin___clear_cache(const_cast(Start), const_cast(End)); + #endif + + #endif // end apple diff --git a/patches/disable-error-xray.diff b/patches/disable-error-xray.diff new file mode 100644 index 0000000000..bad2aea5a9 --- /dev/null +++ b/patches/disable-error-xray.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/xray/xray_tsc.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/xray/xray_tsc.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/xray/xray_tsc.h +@@ -112,8 +112,6 @@ inline uint64_t getTSCFrequency() XRAY_N + + } // namespace __xray + +-#else +-#error Target architecture is not supported. + #endif // CPU architecture + #endif // SANITIZER_FUCHSIA + diff --git a/patches/disable-llvm-symbolizer-test.diff b/patches/disable-llvm-symbolizer-test.diff new file mode 100644 index 0000000000..342378f1ba --- /dev/null +++ b/patches/disable-llvm-symbolizer-test.diff @@ -0,0 +1,25 @@ +Description: Silent a test failing on yakkety amd64 + /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/llvm/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input + // CHECK: inc + ^ + :1:1: note: scanning from here + _fini + ^ + :1:3: note: possible intended match here + _fini + ^ +Author: Sylvestre +Last-Update: 2016-08-26 + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-symbolizer/print_context.c +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/llvm-symbolizer/print_context.c ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-symbolizer/print_context.c +@@ -18,6 +18,7 @@ int main() { + // Inputs/print_context.o built with plain -g -c from this source file + // Specifying -Xclang -fdebug-compilation-dir -Xclang . to make the debug info + // location independent. ++// XFAIL: * + + // CHECK: inc + // CHECK-NEXT: print_context.c:3 diff --git a/patches/disable-openmp-per-target.diff b/patches/disable-openmp-per-target.diff new file mode 100644 index 0000000000..0206402d24 --- /dev/null +++ b/patches/disable-openmp-per-target.diff @@ -0,0 +1,23 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/openmp/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/CMakeLists.txt +@@ -51,13 +51,13 @@ else() + set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) + + # When building in tree we install the runtime according to the LLVM settings. +- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) +- set(OPENMP_INSTALL_LIBDIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING +- "Path where built openmp libraries should be installed.") +- else() ++# if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) ++# set(OPENMP_INSTALL_LIBDIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE STRING ++# "Path where built openmp libraries should be installed.") ++# else() + set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}" CACHE STRING + "Path where built OpenMP libraries should be installed.") +- endif() ++# endif() + + if (NOT MSVC) + set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) diff --git a/patches/disable-path-test-failing.diff b/patches/disable-path-test-failing.diff new file mode 100644 index 0000000000..611206974c --- /dev/null +++ b/patches/disable-path-test-failing.diff @@ -0,0 +1,31 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/unittests/Support/Path.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/unittests/Support/Path.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/unittests/Support/Path.cpp +@@ -681,7 +681,7 @@ protected: + sys::path::append(NonExistantFile, "1B28B495C16344CB9822E588CD4C3EF0"); + } + +- void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); } ++// void TearDown() override { ASSERT_NO_ERROR(fs::remove(TestDirectory.str())); } + }; + + TEST_F(FileSystemTest, Unique) { +@@ -769,7 +769,8 @@ TEST_F(FileSystemTest, RealPath) { + + // This can fail if $HOME is not set and getpwuid fails. + bool Result = llvm::sys::path::home_directory(HomeDir); +- if (Result) { ++/* ++ if (Result) { + checkSeparators(HomeDir); + ASSERT_NO_ERROR(fs::real_path(HomeDir, Expected)); + checkSeparators(Expected); +@@ -778,6 +779,7 @@ TEST_F(FileSystemTest, RealPath) { + ASSERT_NO_ERROR(fs::real_path("~/", Actual, true)); + EXPECT_EQ(Expected, Actual); + } ++*/ + + ASSERT_NO_ERROR(fs::remove_directories(Twine(TestDirectory) + "/test1")); + } diff --git a/patches/do-not-fail-on-unexpected-pass.diff b/patches/do-not-fail-on-unexpected-pass.diff new file mode 100644 index 0000000000..2c0a5c3750 --- /dev/null +++ b/patches/do-not-fail-on-unexpected-pass.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/utils/lit/lit/Test.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/utils/lit/lit/Test.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/utils/lit/lit/Test.py +@@ -52,7 +52,7 @@ XFAIL = ResultCode("XFAIL", "Expectedly + UNRESOLVED = ResultCode("UNRESOLVED", "Unresolved", True) + TIMEOUT = ResultCode("TIMEOUT", "Timed Out", True) + FAIL = ResultCode("FAIL", "Failed", True) +-XPASS = ResultCode("XPASS", "Unexpectedly Passed", True) ++XPASS = ResultCode('XPASS', 'Unexpectedly Passed', False) + + + # Test metric values. diff --git a/patches/env-lld-package-metadata.diff b/patches/env-lld-package-metadata.diff new file mode 100644 index 0000000000..ff20aa5c52 --- /dev/null +++ b/patches/env-lld-package-metadata.diff @@ -0,0 +1,18 @@ +Index: llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f/lld/ELF/Driver.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f.orig/lld/ELF/Driver.cpp ++++ llvm-toolchain-snapshot_21~++20250211013808+e258bca9505f/lld/ELF/Driver.cpp +@@ -1447,6 +1447,13 @@ static void readConfigs(Ctx &ctx, opt::I + ctx.arg.outputFile = args.getLastArgValue(OPT_o); + if (auto *arg = args.getLastArg(OPT_package_metadata)) + parsePackageMetadata(ctx, *arg); ++ // No package-metadata option, fall-back to env ELF_PACKAGE_METADATA ++ if (ctx.arg.packageMetadata.empty()) { ++ const char *env_package_metadata = getenv("ELF_PACKAGE_METADATA"); ++ if (env_package_metadata && strcmp(env_package_metadata, "") != 0) { ++ parsePackageMetadata(ctx, *opt::Arg::create(OPT_package_metadata, "ELF_PACKAGE_METADATA", env_package_metadata)); ++ } ++ } + ctx.arg.pie = args.hasFlag(OPT_pie, OPT_no_pie, false); + ctx.arg.printIcfSections = + args.hasFlag(OPT_print_icf_sections, OPT_no_print_icf_sections, false); diff --git a/patches/fix-clang-path-and-build.diff b/patches/fix-clang-path-and-build.diff new file mode 100644 index 0000000000..141bf7deab --- /dev/null +++ b/patches/fix-clang-path-and-build.diff @@ -0,0 +1,33 @@ +Index: llvm-toolchain-snapshot_21~++20250607105253+432c5f2c608d/clang/lib/Driver/ToolChains/Linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250607105253+432c5f2c608d.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_21~++20250607105253+432c5f2c608d/clang/lib/Driver/ToolChains/Linux.cpp +@@ -12,6 +12,7 @@ + #include "Arch/Mips.h" + #include "Arch/PPC.h" + #include "Arch/RISCV.h" ++#include "clang/Basic/Version.h" + #include "clang/Config/config.h" + #include "clang/Driver/CommonArgs.h" + #include "clang/Driver/Distro.h" +@@ -639,8 +640,18 @@ void Linux::AddClangSystemIncludeArgs(co + SmallString<128> ResourceDirInclude(D.ResourceDir); + llvm::sys::path::append(ResourceDirInclude, "include"); + if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && +- (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) +- addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); ++ (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc))) { ++ if (llvm::sys::fs::exists(ResourceDirInclude)) { ++ /* Include the build include directory only ++ * Otherwise, it fails with stage2 when clang headers are available on the system ++ * they usually fail because of the include_next. Two llvm/clang headers are found ++ * while we are waiting for the lib C++ (std or not) ++ */ ++ addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude); ++ } else { ++ addSystemInclude(DriverArgs, CC1Args, "/usr/include/clang/" + std::string(CLANG_VERSION_STRING) + "/include/"); ++ } ++ } + + if (DriverArgs.hasArg(options::OPT_nostdlibinc)) + return; diff --git a/patches/fix-crash-ghc-arm.patch b/patches/fix-crash-ghc-arm.patch new file mode 100644 index 0000000000..2aa679298d --- /dev/null +++ b/patches/fix-crash-ghc-arm.patch @@ -0,0 +1,148 @@ +From 4d1f2492d26f8c2fad0eee2a141c7e0bbbc4c868 Mon Sep 17 00:00:00 2001 +From: David Green +Date: Wed, 12 Nov 2025 16:26:21 +0000 +Subject: [PATCH] [ARM] Use TargetMachine over Subtarget in ARMAsmPrinter + (#166329) + +The subtarget may not be set if no functions are present in the module. +Attempt to use the TargetMachine directly in more cases. + +Fixes #165422 +Fixes #167577 +--- + llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 21 +++++++++++---------- + llvm/lib/Target/ARM/ARMSubtarget.cpp | 12 +----------- + llvm/lib/Target/ARM/ARMTargetMachine.h | 14 ++++++++++++++ + llvm/test/CodeGen/ARM/xxstructor-nodef.ll | 7 +++++++ + 4 files changed, 33 insertions(+), 21 deletions(-) + create mode 100644 llvm/test/CodeGen/ARM/xxstructor-nodef.ll + +diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +index 36b99087e0a32..2d2e62c80c702 100644 +--- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp ++++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +@@ -97,7 +97,8 @@ void ARMAsmPrinter::emitXXStructor(const DataLayout &DL, const Constant *CV) { + + const MCExpr *E = MCSymbolRefExpr::create( + GetARMGVSymbol(GV, ARMII::MO_NO_FLAG), +- (Subtarget->isTargetELF() ? ARM::S_TARGET1 : ARM::S_None), OutContext); ++ (TM.getTargetTriple().isOSBinFormatELF() ? ARM::S_TARGET1 : ARM::S_None), ++ OutContext); + + OutStreamer->emitValue(E, Size); + } +@@ -595,8 +596,7 @@ void ARMAsmPrinter::emitEndOfAsmFile(Module &M) { + ARMTargetStreamer &ATS = static_cast(TS); + + if (OptimizationGoals > 0 && +- (Subtarget->isTargetAEABI() || Subtarget->isTargetGNUAEABI() || +- Subtarget->isTargetMuslAEABI())) ++ (TT.isTargetAEABI() || TT.isTargetGNUAEABI() || TT.isTargetMuslAEABI())) + ATS.emitAttribute(ARMBuildAttrs::ABI_optimization_goals, OptimizationGoals); + OptimizationGoals = -1; + +@@ -884,9 +884,10 @@ static uint8_t getModifierSpecifier(ARMCP::ARMCPModifier Modifier) { + + MCSymbol *ARMAsmPrinter::GetARMGVSymbol(const GlobalValue *GV, + unsigned char TargetFlags) { +- if (Subtarget->isTargetMachO()) { ++ const Triple &TT = TM.getTargetTriple(); ++ if (TT.isOSBinFormatMachO()) { + bool IsIndirect = +- (TargetFlags & ARMII::MO_NONLAZY) && Subtarget->isGVIndirectSymbol(GV); ++ (TargetFlags & ARMII::MO_NONLAZY) && getTM().isGVIndirectSymbol(GV); + + if (!IsIndirect) + return getSymbol(GV); +@@ -903,9 +904,8 @@ MCSymbol *ARMAsmPrinter::GetARMGVSymbol(const GlobalValue *GV, + StubSym = MachineModuleInfoImpl::StubValueTy(getSymbol(GV), + !GV->hasInternalLinkage()); + return MCSym; +- } else if (Subtarget->isTargetCOFF()) { +- assert(Subtarget->isTargetWindows() && +- "Windows is the only supported COFF target"); ++ } else if (TT.isOSBinFormatCOFF()) { ++ assert(TT.isOSWindows() && "Windows is the only supported COFF target"); + + bool IsIndirect = + (TargetFlags & (ARMII::MO_DLLIMPORT | ARMII::MO_COFFSTUB)); +@@ -932,7 +932,7 @@ MCSymbol *ARMAsmPrinter::GetARMGVSymbol(const GlobalValue *GV, + } + + return MCSym; +- } else if (Subtarget->isTargetELF()) { ++ } else if (TT.isOSBinFormatELF()) { + return getSymbolPreferLocal(*GV); + } + llvm_unreachable("unexpected target"); +@@ -978,7 +978,8 @@ void ARMAsmPrinter::emitMachineConstantPoolValue( + + // On Darwin, const-pool entries may get the "FOO$non_lazy_ptr" mangling, so + // flag the global as MO_NONLAZY. +- unsigned char TF = Subtarget->isTargetMachO() ? ARMII::MO_NONLAZY : 0; ++ unsigned char TF = ++ TM.getTargetTriple().isOSBinFormatMachO() ? ARMII::MO_NONLAZY : 0; + MCSym = GetARMGVSymbol(GV, TF); + } else if (ACPV->isMachineBasicBlock()) { + const MachineBasicBlock *MBB = cast(ACPV)->getMBB(); +diff --git a/llvm/lib/Target/ARM/ARMSubtarget.cpp b/llvm/lib/Target/ARM/ARMSubtarget.cpp +index 58bc338b25856..7ec232ae9bac5 100644 +--- a/llvm/lib/Target/ARM/ARMSubtarget.cpp ++++ b/llvm/lib/Target/ARM/ARMSubtarget.cpp +@@ -318,17 +318,7 @@ bool ARMSubtarget::isRWPI() const { + } + + bool ARMSubtarget::isGVIndirectSymbol(const GlobalValue *GV) const { +- if (!TM.shouldAssumeDSOLocal(GV)) +- return true; +- +- // 32 bit macho has no relocation for a-b if a is undefined, even if b is in +- // the section that is being relocated. This means we have to use o load even +- // for GVs that are known to be local to the dso. +- if (isTargetMachO() && TM.isPositionIndependent() && +- (GV->isDeclarationForLinker() || GV->hasCommonLinkage())) +- return true; +- +- return false; ++ return TM.isGVIndirectSymbol(GV); + } + + bool ARMSubtarget::isGVInGOT(const GlobalValue *GV) const { +diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.h b/llvm/lib/Target/ARM/ARMTargetMachine.h +index c417c4c8bae65..1f74e9fdd1dc9 100644 +--- a/llvm/lib/Target/ARM/ARMTargetMachine.h ++++ b/llvm/lib/Target/ARM/ARMTargetMachine.h +@@ -98,6 +98,20 @@ class ARMBaseTargetMachine : public CodeGenTargetMachineImpl { + return true; + } + ++ bool isGVIndirectSymbol(const GlobalValue *GV) const { ++ if (!shouldAssumeDSOLocal(GV)) ++ return true; ++ ++ // 32 bit macho has no relocation for a-b if a is undefined, even if b is in ++ // the section that is being relocated. This means we have to use o load ++ // even for GVs that are known to be local to the dso. ++ if (getTargetTriple().isOSBinFormatMachO() && isPositionIndependent() && ++ (GV->isDeclarationForLinker() || GV->hasCommonLinkage())) ++ return true; ++ ++ return false; ++ } ++ + yaml::MachineFunctionInfo *createDefaultFuncInfoYAML() const override; + yaml::MachineFunctionInfo * + convertFuncInfoToYAML(const MachineFunction &MF) const override; +diff --git a/llvm/test/CodeGen/ARM/xxstructor-nodef.ll b/llvm/test/CodeGen/ARM/xxstructor-nodef.ll +new file mode 100644 +index 0000000000000..db17b2b1c21ab +--- /dev/null ++++ b/llvm/test/CodeGen/ARM/xxstructor-nodef.ll +@@ -0,0 +1,7 @@ ++; RUN: llc -mtriple=arm-unknown-linux-gnueabihf < %s | FileCheck %s ++ ++; This test contains a llvm.global_ctors with no other definitions. Make sure we do not crash in that case. ++; CHECK: .section .init_array,"aw",%init_array ++ ++declare ccc void @ghczmbignum_GHCziNumziBackendziSelected_init__prof_init() ++@llvm.global_ctors = appending global [1 x {i32, void ()*, i8* }] [{i32, void ()*, i8* }{i32 65535, void ()* @ghczmbignum_GHCziNumziBackendziSelected_init__prof_init, i8* null } ] diff --git a/patches/fix-scan-view-path.diff b/patches/fix-scan-view-path.diff new file mode 100644 index 0000000000..cff07a6573 --- /dev/null +++ b/patches/fix-scan-view-path.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-view/bin/scan-view +@@ -27,6 +27,7 @@ kDefaultPort = 8181 + kMaxPortsToTry = 100 + + ### ++BASE_DIR = '/usr/share/clang/scan-view-21' + + + def url_is_up(url): +@@ -64,7 +65,7 @@ def start_browser(port, options): + + def run(port, options, root): + # Prefer to look relative to the installed binary +- share = os.path.dirname(__file__) + "/../share/" ++ share = os.path.join(BASE_DIR, 'share') + if not os.path.isdir(share): + # Otherwise look relative to the source + share = os.path.dirname(__file__) + "/../../scan-view/share" diff --git a/patches/force-sse2-compiler-rt.diff b/patches/force-sse2-compiler-rt.diff new file mode 100644 index 0000000000..f778fe26d1 --- /dev/null +++ b/patches/force-sse2-compiler-rt.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/compiler-rt/lib/builtins/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62.orig/compiler-rt/lib/builtins/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250715030935+8226fbee4b62/compiler-rt/lib/builtins/CMakeLists.txt +@@ -1039,6 +1039,12 @@ if (COMPILER_RT_BUILD_CRT) + append_list_if(COMPILER_RT_ENABLE_CET -fcf-protection=full CRT_CFLAGS) + endif() + ++ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") ++ append_list_if(COMPILER_RT_HAS_FLOAT16 -msse2 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS) ++ else () ++ append_list_if(COMPILER_RT_HAS_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS) ++ endif() ++ + foreach(arch ${BUILTIN_SUPPORTED_ARCH}) + add_compiler_rt_runtime(clang_rt.crtbegin + OBJECT diff --git a/patches/hurd/47211c4b96e99a3344a71570a99b991c5f5c1c01.patch b/patches/hurd/47211c4b96e99a3344a71570a99b991c5f5c1c01.patch new file mode 100644 index 0000000000..356bd68aa9 --- /dev/null +++ b/patches/hurd/47211c4b96e99a3344a71570a99b991c5f5c1c01.patch @@ -0,0 +1,52 @@ +From 47211c4b96e99a3344a71570a99b991c5f5c1c01 Mon Sep 17 00:00:00 2001 +From: Brad Smith +Date: Mon, 22 Sep 2025 08:01:00 -0400 +Subject: [PATCH] [Driver] Enable __float128 support on X86 on Hurd (#160045) + +--- + clang/lib/Basic/Targets/OSTargets.h | 14 +++++++++++++- + clang/test/CodeGenCXX/float128-declarations.cpp | 4 ++++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h +index a733f6e97b3a4..6c49a09ab27f5 100644 +--- a/clang/lib/Basic/Targets/OSTargets.h ++++ b/clang/lib/Basic/Targets/OSTargets.h +@@ -328,9 +328,21 @@ class LLVM_LIBRARY_VISIBILITY HurdTargetInfo : public OSTargetInfo { + Builder.defineMacro("_REENTRANT"); + if (Opts.CPlusPlus) + Builder.defineMacro("_GNU_SOURCE"); ++ if (this->HasFloat128) ++ Builder.defineMacro("__FLOAT128__"); + } + public: +- using OSTargetInfo::OSTargetInfo; ++ HurdTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) ++ : OSTargetInfo(Triple, Opts) { ++ switch (Triple.getArch()) { ++ default: ++ break; ++ case llvm::Triple::x86: ++ case llvm::Triple::x86_64: ++ this->HasFloat128 = true; ++ break; ++ } ++ } + }; + + // Linux target +diff --git a/clang/test/CodeGenCXX/float128-declarations.cpp b/clang/test/CodeGenCXX/float128-declarations.cpp +index 84b8f7f33036b..0f2e82bbfcd43 100644 +--- a/clang/test/CodeGenCXX/float128-declarations.cpp ++++ b/clang/test/CodeGenCXX/float128-declarations.cpp +@@ -6,6 +6,10 @@ + // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 + // RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-linux-gnu -std=c++11 \ + // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 ++// RUN: %clang_cc1 -emit-llvm -triple i386-unknown-hurd-gnu -std=c++11 \ ++// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 ++// RUN: %clang_cc1 -emit-llvm -triple x86_64-unknown-hurd-gnu -std=c++11 \ ++// RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 + // RUN: %clang_cc1 -emit-llvm -triple i386-unknown-freebsd -std=c++11 \ + // RUN: %s -o - | FileCheck %s -check-prefix=CHECK-X86 + // RUN: %clang_cc1 -emit-llvm -triple amd64-unknown-freebsd -std=c++11 \ diff --git a/patches/hurd/hurd-pathmax.diff b/patches/hurd/hurd-pathmax.diff new file mode 100644 index 0000000000..00bca9ae1f --- /dev/null +++ b/patches/hurd/hurd-pathmax.diff @@ -0,0 +1,33 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Basic/FileManager.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Basic/FileManager.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Basic/FileManager.cpp +@@ -597,6 +597,12 @@ FileManager::getNoncachedStatValue(Strin + return std::error_code(); + } + ++// For GNU Hurd ++#if defined(__GNU__) && !defined(PATH_MAX) ++# define PATH_MAX 4096 ++#endif ++ ++ + void FileManager::GetUniqueIDMapping( + SmallVectorImpl &UIDToFiles) const { + UIDToFiles.clear(); +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/include/lldb/lldb-defines.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/lldb/include/lldb/lldb-defines.h ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/include/lldb/lldb-defines.h +@@ -15,6 +15,11 @@ + #define INT32_MAX 2147483647 + #endif + ++// For GNU Hurd ++#if defined(__GNU__) && !defined(PATH_MAX) ++# define PATH_MAX 4096 ++#endif ++ + #if !defined(UINT32_MAX) + #define UINT32_MAX 4294967295U + #endif diff --git a/patches/issue-54242.diff b/patches/issue-54242.diff new file mode 100644 index 0000000000..b9504aea7f --- /dev/null +++ b/patches/issue-54242.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/mlir/lib/ExecutionEngine/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/mlir/lib/ExecutionEngine/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/mlir/lib/ExecutionEngine/CMakeLists.txt +@@ -64,7 +64,7 @@ endif(LLVM_USE_PERF) + add_mlir_library(MLIRExecutionEngine + ExecutionEngine.cpp + +- EXCLUDE_FROM_LIBMLIR ++# EXCLUDE_FROM_LIBMLIR + + ADDITIONAL_HEADER_DIRS + ${MLIR_MAIN_INCLUDE_DIR}/mlir/ExecutionEngine diff --git a/patches/libclang-major-version-only.diff b/patches/libclang-major-version-only.diff new file mode 100644 index 0000000000..f326154a50 --- /dev/null +++ b/patches/libclang-major-version-only.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/libclang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/tools/libclang/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/libclang/CMakeLists.txt +@@ -204,7 +204,7 @@ if(ENABLE_SHARED) + endif() + # Ensure that libclang.so gets rebuilt when the linker script changes. + set_target_properties(libclang PROPERTIES +- VERSION ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}${LLVM_VERSION_SUFFIX} ++ VERSION ${LLVM_VERSION_MAJOR} + ${LIBCLANG_SOVERSION_ARG}) + endif() + endif() diff --git a/patches/libclc-fix-prepare_builtins-rpath.diff b/patches/libclc-fix-prepare_builtins-rpath.diff new file mode 100644 index 0000000000..3de1414b07 --- /dev/null +++ b/patches/libclc-fix-prepare_builtins-rpath.diff @@ -0,0 +1,17 @@ +set rpath for prepare_builtins build utility to find correct stage2 +libs at runtime when executed as part of a build +Index: llvm-toolchain-21_21.1.0~++20250728085727+b00e0d2a7e21/libclc/CMakeLists.txt +=================================================================== +--- llvm-toolchain-21_21.1.0~++20250728085727+b00e0d2a7e21.orig/libclc/CMakeLists.txt ++++ llvm-toolchain-21_21.1.0~++20250728085727+b00e0d2a7e21/libclc/CMakeLists.txt +@@ -190,6 +190,10 @@ target_compile_definitions( prepare_buil + # These were not properly reported in early LLVM and we don't need them + target_compile_options( prepare_builtins PRIVATE -fno-rtti -fno-exceptions ) + ++set_target_properties( prepare_builtins ++ PROPERTIES INSTALL_RPATH "${LLVM_LIBDIR}" ++ BUILD_WITH_INSTALL_RPATH "ON") ++ + # Setup arch devices + set( r600--_devices cedar cypress barts cayman ) + set( amdgcn--_devices tahiti ) diff --git a/patches/libcxx/libcxx-armhf-ftbfs.diff b/patches/libcxx/libcxx-armhf-ftbfs.diff new file mode 100644 index 0000000000..3af95935f5 --- /dev/null +++ b/patches/libcxx/libcxx-armhf-ftbfs.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/include/__atomic/aliases.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/include/__atomic/aliases.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/include/__atomic/aliases.h +@@ -96,6 +96,7 @@ using __largest_lock_free_type _LIBCPP_N + # endif + + # ifndef _LIBCPP_NO_LOCK_FREE_TYPES ++#ifndef NO_LOCK_FREE + using __contention_t_or_largest _LIBCPP_NODEBUG = + __conditional_t<__libcpp_is_always_lock_free<__cxx_contention_t>::__value, + __cxx_contention_t, +@@ -105,6 +106,8 @@ using atomic_signed_lock_free = atomic + using atomic_unsigned_lock_free = atomic>; + # endif // !_LIBCPP_NO_LOCK_FREE_TYPES + #endif // C++20 ++#endif ++#undef NO_LOCK_FREE + + _LIBCPP_END_NAMESPACE_STD + diff --git a/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff b/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff new file mode 100644 index 0000000000..761a2128fe --- /dev/null +++ b/patches/libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff @@ -0,0 +1,25 @@ +if libatomic is found only link it if libgcc is the rtlib +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libcxx/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/libcxx/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libcxx/CMakeLists.txt +@@ -668,13 +668,16 @@ function(cxx_link_system_libraries targe + endif() + elseif (LIBCXX_HAS_GCC_LIB) + target_link_libraries(${target} PRIVATE gcc) ++ if (LIBCXX_HAS_ATOMIC_LIB) ++ target_link_libraries(${target} PRIVATE atomic) ++ endif() + elseif (LIBCXX_HAS_GCC_S_LIB) + target_link_libraries(${target} PRIVATE gcc_s) + endif() +- endif() + +- if (LIBCXX_HAS_ATOMIC_LIB) +- target_link_libraries(${target} PRIVATE atomic) ++ if (LIBCXX_HAS_ATOMIC_LIB) ++ target_link_libraries(${target} PRIVATE atomic) ++ endif() + endif() + + if (MINGW) diff --git a/patches/libcxx/libcxx-silent-failure-arm64.diff b/patches/libcxx/libcxx-silent-failure-arm64.diff new file mode 100644 index 0000000000..4f66e9d53a --- /dev/null +++ b/patches/libcxx/libcxx-silent-failure-arm64.diff @@ -0,0 +1,25 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp +@@ -7,6 +7,7 @@ + //===----------------------------------------------------------------------===// + + // UNSUPPORTED: no-threads, c++03 ++// XFAIL: * + + // + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp +@@ -9,6 +9,8 @@ + // UNSUPPORTED: no-threads + // UNSUPPORTED: c++03, c++11 + ++// XFAIL: * ++ + // + + // template class shared_lock; diff --git a/patches/libcxx/libcxx-silent-failure-ppc64el.diff b/patches/libcxx/libcxx-silent-failure-ppc64el.diff new file mode 100644 index 0000000000..6ac07fd733 --- /dev/null +++ b/patches/libcxx/libcxx-silent-failure-ppc64el.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp +@@ -18,7 +18,7 @@ + + // GCC currently fails because it needs -fabi-version=6 to fix mangling of + // std::atomic when used with __attribute__((vector(X))). +-// XFAIL: gcc ++// XFAIL: * + + // This fails on PowerPC, as the LLIArr2 and Padding structs do not have + // adequate alignment, despite these types returning true for the query of diff --git a/patches/libcxx/libcxx-silent-test-libcxx.diff b/patches/libcxx/libcxx-silent-test-libcxx.diff new file mode 100644 index 0000000000..6528bf23ef --- /dev/null +++ b/patches/libcxx/libcxx-silent-test-libcxx.diff @@ -0,0 +1,51 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp +@@ -11,6 +11,8 @@ + // template + // RealType generate_canonical(URNG& g); + ++// XFAIL: * ++ + #include + + #include +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/re/re.traits/isctype.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/std/re/re.traits/isctype.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/re/re.traits/isctype.pass.cpp +@@ -12,6 +12,7 @@ + + // bool isctype(charT c, char_class_type f) const; + ++// XFAIL: * + + #include + #include +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/test/catch_multi_level_pointer.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxxabi/test/catch_multi_level_pointer.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/test/catch_multi_level_pointer.pass.cpp +@@ -12,6 +12,8 @@ + // memory and this test requires almost 5 MB + // UNSUPPORTED: LIBCXX-PICOLIBC-FIXME + ++// XFAIL: * ++ + #include + #include + #include +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp +@@ -15,6 +15,8 @@ + + // template void construct(T* p, Args&&... args); + ++// XFAIL: * ++ + #include + #include + #include diff --git a/patches/libcxx/libcxxabi-arm-ehabi-fix.patch b/patches/libcxx/libcxxabi-arm-ehabi-fix.patch new file mode 100644 index 0000000000..5ee1f47555 --- /dev/null +++ b/patches/libcxx/libcxxabi-arm-ehabi-fix.patch @@ -0,0 +1,118 @@ +Fix arm EHABI code to work. armhf had exception test failing without EHABI support. + +No known upstream bug about this. Actual code change is more like workaround than +something that upstream would accept. Proper fix would be adding _Unwind_Control_Block +to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make +sure their ABI stays in sync. + +No known upstream bug about this. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/cxa_exception.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxxabi/src/cxa_exception.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/cxa_exception.cpp +@@ -291,15 +291,16 @@ __cxa_throw(void *thrown_object, std::ty + + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); +-#else ++#elif !LIBCXXABI_ARM_EHABI + _Unwind_RaiseException(&exception_header->unwindHeader); ++#else ++ _Unwind_RaiseException(exception_header->unwindHeader); + #endif + // This only happens when there is no handler, or some unexpected unwinding + // error happens. + failed_throw(exception_header); + } + +- + // 2.5.3 Exception Handlers + /* + The adjusted pointer is computed by the personality routine during phase 1 +@@ -583,7 +584,11 @@ void __cxa_end_catch() { + // to touch a foreign exception in any way, that is undefined + // behavior. They likely can't since the only way to catch + // a foreign exception is with catch (...)! ++#if !LIBCXXABI_ARM_EHABI + _Unwind_DeleteException(&globals->caughtExceptions->unwindHeader); ++#else ++ _Unwind_DeleteException(globals->caughtExceptions->unwindHeader); ++#endif + globals->caughtExceptions = 0; + } + } +@@ -645,8 +650,10 @@ void __cxa_rethrow() { + } + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&exception_header->unwindHeader); +-#else ++#elif !LIBCXXABI_ARM_EHABI + _Unwind_RaiseException(&exception_header->unwindHeader); ++#else ++ _Unwind_RaiseException(exception_header->unwindHeader); + #endif + + // If we get here, some kind of unwinding error has occurred. +@@ -770,8 +777,10 @@ __cxa_rethrow_primary_exception(void* th + dep_exception_header->unwindHeader.exception_cleanup = dependent_exception_cleanup; + #ifdef __USING_SJLJ_EXCEPTIONS__ + _Unwind_SjLj_RaiseException(&dep_exception_header->unwindHeader); ++#elif !LIBCXXABI_ARM_EHABI ++ _Unwind_RaiseException(&dep_exception_header->unwindHeader); + #else +- _Unwind_RaiseException(&dep_exception_header->unwindHeader); ++ _Unwind_RaiseException(dep_exception_header->unwindHeader); + #endif + // Some sort of unwinding error. Note that terminate is a handler. + __cxa_begin_catch(&dep_exception_header->unwindHeader); +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/cxa_exception.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxxabi/src/cxa_exception.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/cxa_exception.h +@@ -27,6 +27,45 @@ _LIBCXXABI_HIDDEN uint64_t __getExceptio + _LIBCXXABI_HIDDEN void __setExceptionClass ( _Unwind_Exception*, uint64_t); + _LIBCXXABI_HIDDEN bool __isOurExceptionClass(const _Unwind_Exception*); + ++#if LIBCXXABI_ARM_EHABI ++// GCC has _Unwind_Control_Block in unwind.h (unwind_arm_common.h) ++#if defined(__clang__) ++struct _Unwind_Control_Block ++{ ++ uint64_t exception_class; ++ void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); ++ struct { ++ _Unwind_Word reserved1; ++ _Unwind_Word reserved2; ++ _Unwind_Word reserved3; ++ _Unwind_Word reserved4; ++ _Unwind_Word reserved5; ++ } unwinder_cache; ++ struct { ++ _Unwind_Word sp; ++ _Unwind_Word bitpattern[5]; ++ } barrier_cache; ++ struct { ++ _Unwind_Word bitpattern[4]; ++ } cleanup_cache; ++ struct { ++ _Unwind_Word fnstart; ++ _Unwind_Word *ehtp; ++ _Unwind_Word additional; ++ _Unwind_Word reserved1; ++ } pr_cache; ++ long long int :0; ++ operator _Unwind_Exception*() noexcept ++ { ++ return reinterpret_cast<_Unwind_Exception*>(this); ++ } ++}; ++ ++#endif ++ ++#define _Unwind_Exception _Unwind_Control_Block ++#endif ++ + struct _LIBCXXABI_HIDDEN __cxa_exception { + #if defined(__LP64__) || defined(_WIN64) || defined(_LIBCXXABI_ARM_EHABI) + // Now _Unwind_Exception is marked with __attribute__((aligned)), diff --git a/patches/libcxx/libcxxabi-fix-link-builtins.diff b/patches/libcxx/libcxxabi-fix-link-builtins.diff new file mode 100644 index 0000000000..5fba2c427d --- /dev/null +++ b/patches/libcxx/libcxxabi-fix-link-builtins.diff @@ -0,0 +1,17 @@ +if LIBCXXABI_USE_COMPILER_RT=ON, add builtins to libcxxabi library +flags, otherwise add libgcc following how libunwind does the same +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxxabi/src/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxxabi/src/CMakeLists.txt +@@ -81,7 +81,9 @@ if (FUCHSIA) + add_link_flags("-Wl,--push-state,--as-needed,-lzircon,--pop-state") + endif() + +-if (NOT LIBCXXABI_USE_COMPILER_RT) ++if (LIBCXXABI_USE_COMPILER_RT) ++ add_library_flags("${LIBCXXABI_BUILTINS_LIBRARY}") ++else() + add_library_flags_if(LIBCXXABI_HAS_GCC_LIB gcc) + endif() + if (NOT LIBCXXABI_USE_LLVM_UNWINDER) diff --git a/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch b/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch new file mode 100644 index 0000000000..7d84395a1b --- /dev/null +++ b/patches/libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch @@ -0,0 +1,17 @@ +Powerpc has extended double that doesn't match x86 coding. Power format would +need special tests to verify correctness but for now it is enough to prevent +incorrect test from running. + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libcxxabi/test/test_demangle.pass.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/libcxxabi/test/test_demangle.pass.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libcxxabi/test/test_demangle.pass.cpp +@@ -83,7 +83,7 @@ const char* invalid_cases[] = { + "_ZNSt16allocator_traitsISaIN4llvm3sys2fs18directory_iteratorEEE9constructIS3_IS3_EEEDTcl12_S_constructfp_fp0_spcl7forwardIT0_Efp1_EEERS4_PT_DpOS7_", + "3FooILdaaaaaaaaaaAAAAaaEE", + "3FooILdaaaaaaaaaaaaaaEE", +-#if !LDBL_FP80 ++#if !LDBL_FP80 && __LDBL_MANT_DIG__ < 64 + "_ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c", + #endif + // The following test cases were found by libFuzzer+ASAN diff --git a/patches/link-grpc.diff b/patches/link-grpc.diff new file mode 100644 index 0000000000..037b5e33e0 --- /dev/null +++ b/patches/link-grpc.diff @@ -0,0 +1,52 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/cmake/modules/AddGRPC.cmake +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/cmake/modules/AddGRPC.cmake ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/cmake/modules/AddGRPC.cmake +@@ -4,8 +4,13 @@ function(generate_clang_protos_library L + # Take the first two args and forward the remaining to generate_proto_sources. + cmake_parse_arguments(PARSE_ARGV 2 PROTO "" "" "") + generate_proto_sources(ProtoSource ${ProtoFile} ${PROTO_UNPARSED_ARGUMENTS}) ++ set(LINKED_GRPC_LIBRARIES protobuf gpr grpc grpc++) + ++ if (ABSL_SYNCHRONIZATION_LIBRARY) ++ list(APPEND LINKED_GRPC_LIBRARIES absl_synchronization) ++ endif() + add_clang_library(${LibraryName} ${ProtoSource} + PARTIAL_SOURCES_INTENDED +- LINK_LIBS PUBLIC grpc++ protobuf) ++ LINK_LIBS PUBLIC ${LINKED_GRPC_LIBRARIES}) ++ + endfunction() +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/cmake/Modules/FindGRPC.cmake +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/cmake/Modules/FindGRPC.cmake ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/cmake/Modules/FindGRPC.cmake +@@ -82,11 +82,28 @@ else() + endif() + endif() + if(NOT TARGET grpc++) ++ find_library(GPR_LIBRARY gpr ${GRPC_OPTS} REQUIRED) ++ add_library(gpr UNKNOWN IMPORTED GLOBAL) ++ message(STATUS "Using gpr: " ${GPR_LIBRARY}) ++ set_target_properties(gpr PROPERTIES IMPORTED_LOCATION ${GPR_LIBRARY}) ++ + find_library(GRPC_LIBRARY grpc++ ${GRPC_OPTS} REQUIRED) + add_library(grpc++ UNKNOWN IMPORTED GLOBAL) + message(STATUS "Using grpc++: " ${GRPC_LIBRARY}) + set_target_properties(grpc++ PROPERTIES IMPORTED_LOCATION ${GRPC_LIBRARY}) + target_include_directories(grpc++ INTERFACE ${GRPC_INCLUDE_PATHS}) ++ find_library(GRPC2_LIBRARY grpc ${GRPC_OPTS} REQUIRED) ++ add_library(grpc UNKNOWN IMPORTED GLOBAL) ++ message(STATUS "Using grpc: " ${GRPC2_LIBRARY}) ++ set_target_properties(grpc PROPERTIES IMPORTED_LOCATION ${GRPC2_LIBRARY}) ++ ++ find_library(ABSL_SYNCHRONIZATION_LIBRARY absl_synchronization ${GRPC_OPTS} QUIET) ++ if (ABSL_SYNCHRONIZATION_LIBRARY) ++ add_library(absl_synchronization UNKNOWN IMPORTED GLOBAL) ++ message(STATUS "Using absl_synchronization: " ${ABSL_SYNCHRONIZATION_LIBRARY}) ++ set_target_properties(absl_synchronization PROPERTIES IMPORTED_LOCATION ${ABSL_SYNCHRONIZATION_LIBRARY}) ++ endif() ++ + if (ENABLE_GRPC_REFLECTION) + find_library(GRPC_REFLECTION_LIBRARY grpc++_reflection ${GRPC_OPTS} REQUIRED) + add_library(grpc++_reflection UNKNOWN IMPORTED GLOBAL) diff --git a/patches/link-with-package-metadata.diff b/patches/link-with-package-metadata.diff new file mode 100644 index 0000000000..dee6eeb545 --- /dev/null +++ b/patches/link-with-package-metadata.diff @@ -0,0 +1,26 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Linux.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/Linux.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/Linux.cpp +@@ -309,6 +309,21 @@ Linux::Linux(const Driver &D, const llvm + ExtraOpts.push_back("--build-id"); + #endif + ++ if (Distro.IsDebian() && Distro >= Distro::DebianTrixie ++ || Distro.IsUbuntu() && Distro >= Distro::UbuntuNoble) ++ { ++ const char *pkg_metadata = getenv ("ELF_PACKAGE_METADATA"); ++ const char *no_pkg_metadata = getenv ("NO_PKG_METADATA"); ++ ++ if (no_pkg_metadata) { ++ // don't issue --package-metadata option ++ } else if (!pkg_metadata) { ++ // no environment set for package metadata ++ } else { ++ ExtraOpts.push_back(std::string("--package-metadata=") + pkg_metadata); ++ } ++ } ++ + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. + // This was determined by running GCC in a fake filesystem, creating all diff --git a/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch b/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch new file mode 100644 index 0000000000..7093c3fb9a --- /dev/null +++ b/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch @@ -0,0 +1,39 @@ +lldb-server exec users always /usr/bin/lldb-server. Server is required +for any debugging with lldb which makes it unusable unless default version +package has been installed. Small changes to code and debian/rules allows +a workaround for lldb-server start up. + +To use this one needs to add cmake definition during configure. eg +-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION) + +Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but +that change seems to require a big change to the path handling code +which could then break something else. + +This probably should have upstream bug but I couldn't find any existing report. + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp +@@ -27,6 +27,7 @@ + #include "llvm/Config/llvm-config.h" // for LLVM_ENABLE_ZLIB + #include "llvm/Support/Error.h" + #include "llvm/Support/ScopedPrinter.h" ++#include "llvm/Config/llvm-config.h" + #include + #include + #include +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +@@ -98,7 +98,7 @@ + #elif defined(_WIN32) + #define DEBUGSERVER_BASENAME "lldb-server.exe" + #else +-#define DEBUGSERVER_BASENAME "lldb-server" ++#define DEBUGSERVER_BASENAME "lldb-server-" LLVM_VERSION_STRING + #endif + + using namespace lldb; diff --git a/patches/lldb/lldb-missing-install.diff b/patches/lldb/lldb-missing-install.diff new file mode 100644 index 0000000000..6c46b04abd --- /dev/null +++ b/patches/lldb/lldb-missing-install.diff @@ -0,0 +1,23 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/tools/argdumper/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/lldb/tools/argdumper/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/tools/argdumper/CMakeLists.txt +@@ -6,3 +6,6 @@ add_lldb_tool(lldb-argdumper ADD_TO_FRAM + ) + + add_dependencies(liblldb lldb-argdumper) ++ ++install(TARGETS lldb-argdumper ++ RUNTIME DESTINATION bin) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/tools/lldb-server/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/lldb/tools/lldb-server/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/lldb/tools/lldb-server/CMakeLists.txt +@@ -71,3 +71,7 @@ add_dependencies(lldb-server + ) + target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source") + target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS}) ++ ++install(TARGETS lldb-server ++ RUNTIME DESTINATION bin) ++ diff --git a/patches/lldb/lldb-soname.diff b/patches/lldb/lldb-soname.diff new file mode 100644 index 0000000000..e65a27079a --- /dev/null +++ b/patches/lldb/lldb-soname.diff @@ -0,0 +1,50 @@ +--- + lldb/source/API/CMakeLists.txt | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/lldb/source/API/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/lldb/source/API/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/lldb/source/API/CMakeLists.txt +@@ -40,7 +40,12 @@ add_custom_target(lldb-sbapi-dwarf-enums + DEPENDS ${sb_languages_file}) + set_target_properties(lldb-sbapi-dwarf-enums PROPERTIES FOLDER "LLDB/Tablegenning") + +-add_lldb_library(liblldb SHARED ${option_framework} ++set(output_name lldb) ++if (CMAKE_SYSTEM_NAME MATCHES "Windows") ++ set(output_name liblldb) ++endif() ++ ++add_lldb_library(liblldb SHARED OUTPUT_NAME ${output_name} SONAME + SBAddress.cpp + SBAddressRange.cpp + SBAddressRangeList.cpp +@@ -198,7 +203,7 @@ endif() + + set_target_properties(liblldb + PROPERTIES +- VERSION ${LLDB_VERSION} ++ VERSION 1 + ) + + target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB) +@@ -262,12 +267,12 @@ elseif (LLDB_EXPORT_ALL_SYMBOLS) + add_llvm_symbol_exports(liblldb ${exported_symbol_file}) + endif() + +-if (NOT MSVC) +- set_target_properties(liblldb +- PROPERTIES +- OUTPUT_NAME lldb +- ) +-endif() ++#if (NOT MSVC) ++# set_target_properties(liblldb ++# PROPERTIES ++# OUTPUT_NAME lldb ++# ) ++#endif() + + # The Clang expression parser in LLDB requires the Clang resource directory to function. + if (TARGET clang-resource-headers) diff --git a/patches/lldb/print-lldb-path.patch b/patches/lldb/print-lldb-path.patch new file mode 100644 index 0000000000..74aca32845 --- /dev/null +++ b/patches/lldb/print-lldb-path.patch @@ -0,0 +1,48 @@ +Author: Gianfranco Costamagna +Last-Update: 2023-01-19 + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/bindings/python/get-python-config.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/bindings/python/get-python-config.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/bindings/python/get-python-config.py +@@ -16,6 +16,7 @@ def relpath_nodots(path, base): + + + def main(): ++ import sysconfig + parser = argparse.ArgumentParser(description="extract cmake variables from python") + parser.add_argument("variable_name") + args = parser.parse_args() +@@ -32,7 +33,19 @@ def main(): + # If not, you'll have to use lldb -P or lldb -print-script-interpreter-info + # to figure out where it is. + try: +- print(relpath_nodots(sysconfig.get_path("platlib"), sys.prefix)) ++ if hasattr(sysconfig, 'get_default_scheme'): ++ scheme = sysconfig.get_default_scheme() ++ else: ++ scheme = sysconfig._get_default_scheme() ++ if scheme == 'posix_local': ++ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/ ++ scheme = 'posix_prefix' ++ path = sysconfig.get_path('purelib', scheme) ++ else: ++ from distutils import sysconfig ++ path = sysconfig.get_python_lib(0, 0) ++ ++ print(relpath_nodots(path, sys.prefix)) + except ValueError: + # Try to fall back to something reasonable if sysconfig's platlib + # is outside of sys.prefix +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +@@ -242,6 +242,7 @@ void ScriptInterpreterPython::ComputePyt + // the real python interpreter uses. (e.g. lib for most, lib64 on RHEL + // x86_64, or bin on Windows). + llvm::sys::path::remove_filename(path); ++ llvm::sys::path::append(path, "/llvm-" + std::to_string(LLVM_VERSION_MAJOR)); + llvm::sys::path::append(path, LLDB_PYTHON_RELATIVE_LIBDIR); + + #if defined(_WIN32) diff --git a/patches/lldb/test-disable-lldb-i386.diff b/patches/lldb/test-disable-lldb-i386.diff new file mode 100644 index 0000000000..4f85ccf02c --- /dev/null +++ b/patches/lldb/test-disable-lldb-i386.diff @@ -0,0 +1,26 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/integration-test-suite/tests/basic_lldb.c +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/integration-test-suite/tests/basic_lldb.c ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/integration-test-suite/tests/basic_lldb.c +@@ -1,7 +1,7 @@ + // RUN: %clang -g -o %t %s + // RUN: %lldb -s %S/basic_lldb.in %t | grep "main at basic_lldb.c:" + // REQUIRES: lldb, clang +-// XFAIL: ppc64 ++// XFAIL: ppc64, i686, i386 + + int main() { + int a=0; +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/integration-test-suite/tests/basic_lldb2.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/integration-test-suite/tests/basic_lldb2.cpp ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/integration-test-suite/tests/basic_lldb2.cpp +@@ -1,7 +1,7 @@ + // RUN: %clangxx -g -o %t %s + // RUN: %lldb -s %S/basic_lldb2.in %t | grep "stop reason = step over" + // REQUIRES: lldb, clangxx +-// XFAIL: ppc64 ++// XFAIL: ppc64, i686, i386 + + #include + int main (void) diff --git a/patches/llvm-fix-lld-linker-check.diff b/patches/llvm-fix-lld-linker-check.diff new file mode 100644 index 0000000000..355bf0ccd1 --- /dev/null +++ b/patches/llvm-fix-lld-linker-check.diff @@ -0,0 +1,15 @@ +remove regex anchor in lld linker detection to account for vendor, if +specified, being prepended to lld version string +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/cmake/modules/AddLLVM.cmake +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/cmake/modules/AddLLVM.cmake ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/cmake/modules/AddLLVM.cmake +@@ -249,7 +249,7 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND + set(LLVM_LINKER_DETECTED YES CACHE INTERNAL "") + set(LLVM_LINKER_IS_GOLD YES CACHE INTERNAL "") + message(STATUS "Linker detection: GNU Gold") +- elseif("${stdout}" MATCHES "^LLD") ++ elseif("${stdout}" MATCHES "LLD") + set(LLVM_LINKER_DETECTED YES CACHE INTERNAL "") + set(LLVM_LINKER_IS_LLD YES CACHE INTERNAL "") + message(STATUS "Linker detection: LLD") diff --git a/patches/llvm-runtimes-builtins-build-check.diff b/patches/llvm-runtimes-builtins-build-check.diff new file mode 100644 index 0000000000..0c1ff08659 --- /dev/null +++ b/patches/llvm-runtimes-builtins-build-check.diff @@ -0,0 +1,24 @@ +add a check and only set up and build compiler-rt builtins if they have +not been disabled +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/runtimes/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/runtimes/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/runtimes/CMakeLists.txt +@@ -144,10 +144,15 @@ endfunction() + # is required because the other runtimes need the builtin libraries present + # before the just-built compiler can pass the configuration tests. + get_compiler_rt_path(compiler_rt_path) +-if(compiler_rt_path) ++# check if builtins have been disabled ++set(RUNTIMES_BUILD_BUILTINS ON) ++if(DEFINED COMPILER_RT_BUILD_BUILTINS) ++ set(RUNTIMES_BUILD_BUILTINS ${COMPILER_RT_BUILD_BUILTINS}) ++endif() ++if(compiler_rt_path AND RUNTIMES_BUILD_BUILTINS) + # If the user did not specify the targets infer them from the runtimes. + set(builtin_targets ${LLVM_BUILTIN_TARGETS}) +- if(NOT builtin_targets) ++ if(NOT LLVM_BUILTIN_TARGETS) + if("compiler-rt" IN_LIST LLVM_ENABLE_RUNTIMES) + list(APPEND builtin_targets "default") + endif() diff --git a/patches/lower-flang-py-dep.diff b/patches/lower-flang-py-dep.diff new file mode 100644 index 0000000000..3371953ed6 --- /dev/null +++ b/patches/lower-flang-py-dep.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250430093517+ae6b4b23ea42/flang/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250430093517+ae6b4b23ea42.orig/flang/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250430093517+ae6b4b23ea42/flang/CMakeLists.txt +@@ -25,7 +25,7 @@ endif() + set(FLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + # Python is needed for symbol extracting tool +-set(LLVM_MINIMUM_PYTHON_VERSION 3.8) ++set(LLVM_MINIMUM_PYTHON_VERSION 3.7) + find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED + COMPONENTS Interpreter) + diff --git a/patches/lower-python-dep.diff b/patches/lower-python-dep.diff new file mode 100644 index 0000000000..d5771bac98 --- /dev/null +++ b/patches/lower-python-dep.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/CMakeLists.txt +@@ -1019,7 +1019,7 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH + + if(LLVM_INCLUDE_TESTS) + # All LLVM Python files should be compatible down to this minimum version. +- set(LLVM_MINIMUM_PYTHON_VERSION 3.8) ++ set(LLVM_MINIMUM_PYTHON_VERSION 3.5) + else() + # FIXME: it is unknown if this is the actual minimum bound + set(LLVM_MINIMUM_PYTHON_VERSION 3.0) diff --git a/patches/mips-mlir-xgot.diff b/patches/mips-mlir-xgot.diff new file mode 100644 index 0000000000..1bd13eeaab --- /dev/null +++ b/patches/mips-mlir-xgot.diff @@ -0,0 +1,15 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/mlir/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/mlir/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/mlir/CMakeLists.txt +@@ -110,6 +110,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + endif() + endif() + ++check_symbol_exists(__mips "" __MIPS) ++append_if(__MIPS "-mxgot" CMAKE_C_FLAGS) ++append_if(__MIPS "-mxgot" CMAKE_CXX_FLAGS) ++ + # Installing the headers and docs needs to depend on generating any public + # tablegen'd targets. + # mlir-generic-headers are dialect-independent. diff --git a/patches/mips/mips-force-nomadd4.patch b/patches/mips/mips-force-nomadd4.patch new file mode 100644 index 0000000000..7fd55a0805 --- /dev/null +++ b/patches/mips/mips-force-nomadd4.patch @@ -0,0 +1,23 @@ +The MIPS port aims to support the Loongson 3 family of CPUs in addition +of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions +are fused, while they are not fused on the other MIPS CPUs. In order to +support both, we have to disabled those instructions. + +For that, the patch below basically corresponds to the --with-madd4=no +used on the GCC side. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Basic/Targets/Mips.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/lib/Basic/Targets/Mips.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/lib/Basic/Targets/Mips.h +@@ -350,7 +350,9 @@ public: + HasMSA = true; + else if (Feature == "+nomadd4") + DisableMadd4 = true; +- else if (Feature == "+fp64") { ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; ++ else if (Feature == "+fp64") { + FPMode = FP64; + FpGiven = true; + } else if (Feature == "-fp64") { diff --git a/patches/mips/mips-fpxx-enable.diff b/patches/mips/mips-fpxx-enable.diff new file mode 100644 index 0000000000..1447d9c245 --- /dev/null +++ b/patches/mips/mips-fpxx-enable.diff @@ -0,0 +1,45 @@ +Index: llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227/llvm/lib/Target/Mips/MipsSubtarget.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227.orig/llvm/lib/Target/Mips/MipsSubtarget.cpp ++++ llvm-toolchain-snapshot_21~++20250531102322+061ef3c6e227/llvm/lib/Target/Mips/MipsSubtarget.cpp +@@ -81,7 +81,7 @@ MipsSubtarget::MipsSubtarget(const Tripl + InMips16HardFloat(Mips16HardFloat), InMicroMipsMode(false), HasDSP(false), + HasDSPR2(false), HasDSPR3(false), + AllowMixed16_32(Mixed16_32 || Mips_Os16), Os16(Mips_Os16), HasMSA(false), +- UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(false), ++ UseTCCInDIV(false), HasSym32(false), HasEVA(false), DisableMadd4(true), + HasMT(false), HasCRC(false), HasVirt(false), HasGINV(false), + UseIndirectJumpsHazard(false), StrictAlign(false), + StackAlignOverride(StackAlignOverride), TM(TM), TargetTriple(TT), +@@ -93,6 +93,9 @@ MipsSubtarget::MipsSubtarget(const Tripl + if (MipsArchVersion == MipsDefault) + MipsArchVersion = Mips32; + ++ if (hasMips32r6() || hasMips64r6()) ++ DisableMadd4 = false; ++ + // MIPS-I has not been tested. + if (MipsArchVersion == Mips1 && !MIPS1WarningPrinted) { + errs() << "warning: MIPS-I support is experimental\n"; +@@ -246,6 +249,7 @@ MipsSubtarget & + MipsSubtarget::initializeSubtargetDependencies(StringRef CPU, StringRef FS, + const TargetMachine &TM) { + StringRef CPUName = MIPS_MC::selectMipsCPU(TM.getTargetTriple(), CPU); ++ SubtargetFeatures Features(FS); + + // Parse features string. + ParseSubtargetFeatures(CPUName, /*TuneCPU*/ CPUName, FS); +@@ -268,6 +272,13 @@ MipsSubtarget::initializeSubtargetDepend + reportFatalUsageError("64-bit code requested on a subtarget that doesn't " + "support it!"); + ++ for (const std::string &Feature : Features.getFeatures()) { ++ if (Feature == "+nomadd4") ++ DisableMadd4 = true; ++ else if (Feature == "-nomadd4") ++ DisableMadd4 = false; ++ } ++ + return *this; + } + diff --git a/patches/mips/syscall-mips64el-def.diff b/patches/mips/syscall-mips64el-def.diff new file mode 100644 index 0000000000..6248a6a264 --- /dev/null +++ b/patches/mips/syscall-mips64el-def.diff @@ -0,0 +1,16 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/builtins/clear_cache.c +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/builtins/clear_cache.c ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/builtins/clear_cache.c +@@ -6,6 +6,11 @@ + // + //===----------------------------------------------------------------------===// + ++#if defined(__linux__) && defined(__mips__) ++// Otherwise, the build fails as it cannot find syscall ++#define _GNU_SOURCE ++#endif ++ + #include "int_lib.h" + #if defined(__linux__) + #include diff --git a/patches/offload-disable-static-assert.diff b/patches/offload-disable-static-assert.diff new file mode 100644 index 0000000000..e57c5bd613 --- /dev/null +++ b/patches/offload-disable-static-assert.diff @@ -0,0 +1,17 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/offload/include/Shared/APITypes.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/offload/include/Shared/APITypes.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/offload/include/Shared/APITypes.h +@@ -107,10 +107,10 @@ struct KernelArgsTy { + }; + static_assert(sizeof(KernelArgsTy().Flags) == sizeof(uint64_t), + "Invalid struct size"); +-static_assert(sizeof(KernelArgsTy) == ++/*static_assert(sizeof(KernelArgsTy) == + (8 * sizeof(int32_t) + 3 * sizeof(int64_t) + + 4 * sizeof(void **) + 2 * sizeof(int64_t *)), +- "Invalid struct size"); ++ "Invalid struct size");*/ + + /// Flat array of kernel launch parameters and their total size. + struct KernelLaunchParamsTy { diff --git a/patches/omp-riscv64.patch b/patches/omp-riscv64.patch new file mode 100644 index 0000000000..dc0b0fb56d --- /dev/null +++ b/patches/omp-riscv64.patch @@ -0,0 +1,25 @@ +Description: Define the affinity for riscv64 +Last-Update: 2021-08-27 + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/runtime/src/kmp_affinity.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/openmp/runtime/src/kmp_affinity.h ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/runtime/src/kmp_affinity.h +@@ -223,6 +223,17 @@ public: + #elif __NR_sched_getaffinity != 123 + #error Wrong code for getaffinity system call. + #endif /* __NR_sched_getaffinity */ ++#elif KMP_ARCH_RISCV64 ++#ifndef __NR_sched_setaffinity ++#define __NR_sched_setaffinity 122 ++#elif __NR_sched_setaffinity != 122 ++#error Wrong code for setaffinity system call. ++#endif /* __NR_sched_setaffinity */ ++#ifndef __NR_sched_getaffinity ++#define __NR_sched_getaffinity 123 ++#elif __NR_sched_getaffinity != 123 ++#error Wrong code for getaffinity system call. ++#endif /* __NR_sched_getaffinity */ + #elif KMP_ARCH_X86_64 + #ifndef __NR_sched_setaffinity + #define __NR_sched_setaffinity 203 diff --git a/patches/openmp-fix-runtimes-build.diff b/patches/openmp-fix-runtimes-build.diff new file mode 100644 index 0000000000..a7968ac3bc --- /dev/null +++ b/patches/openmp-fix-runtimes-build.diff @@ -0,0 +1,144 @@ +include required runtimes as dependencies to openmp targets to make sure +they are built first when included as part of a runtimes build since openmp +can depend on them +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/runtimes/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/runtimes/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/runtimes/CMakeLists.txt +@@ -268,6 +268,7 @@ function(runtime_default_target) + -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED} + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR} + -DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS} ++ -DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} + -DCMAKE_C_COMPILER_WORKS=ON + -DCMAKE_CXX_COMPILER_WORKS=ON + -DCMAKE_Fortran_COMPILER_WORKS=ON +@@ -634,7 +635,7 @@ if(build_runtimes) + # build directory cannot find the C++ headers in certain configurations. + # I need to build a mechanism for runtime projects to provide CMake code + # that executes at LLVM configuration time to handle this case. +- add_dependencies(clang-bootstrap-deps runtimes-configure) ++ #add_dependencies(clang-bootstrap-deps runtimes-configure) + # We need to add the runtimes as a dependency because compiler-rt can be + # built as part of runtimes and we need the profile runtime for PGO + add_dependencies(clang-bootstrap-deps runtimes) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/openmp/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/CMakeLists.txt +@@ -122,6 +122,28 @@ else() + get_clang_resource_dir(LIBOMP_HEADERS_INSTALL_PATH SUBDIR include) + endif() + ++option(OPENMP_USE_LLVM_UNWINDER "Build and use the LLVM unwinder" OFF) ++ ++option(LIBOMP_ENABLE_RTTI "Enabling RTTI forces libomp to be a c++ lib" ${LLVM_ENABLE_RTTI}) ++ ++macro(add_runtimes_build_depends_if_needed target) ++ if(RUNTIMES_BUILD) ++ # required for rtti and libomp/libomptarget profiling if enabled ++ add_dependencies(${target} cxx-headers cxxabi_static cxx_static cxxabi_shared cxx_shared) ++ if(OPENMP_USE_LLVM_UNWINDER AND (NOT target STREQUAL "omp" AND NOT LIBOMP_ENABLE_RTTI)) ++ add_dependencies(${target} unwind_static unwind_shared) ++ get_target_property(target_link_flags ${target} LINK_FLAGS) ++ set(runtimes_link_flags "-lunwind") ++ if(target_link_flags) ++ set(runtimes_link_flags "${target_link_flags} -lunwind") ++ endif() ++ set_target_properties(${target} ++ PROPERTIES ++ LINK_FLAGS "${runtimes_link_flags}") ++ endif() ++ endif() ++endmacro() ++ + # Build host runtime library, after LIBOMPTARGET variables are set since they are needed + # to enable time profiling support in the OpenMP runtime. + add_subdirectory(runtime) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/plugins-nextgen/cuda/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/offload/plugins-nextgen/cuda/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/plugins-nextgen/cuda/CMakeLists.txt +@@ -26,3 +26,5 @@ else() + message(STATUS "Not generating NVIDIA tests, no supported devices detected." + " Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.") + endif() ++ ++add_runtimes_build_depends_if_needed(omptarget.rtl.cuda) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/runtime/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/openmp/runtime/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/runtime/CMakeLists.txt +@@ -336,6 +336,10 @@ if(LIBOMP_STATS) + set(LIBOMP_USE_STDCPPLIB TRUE) + endif() + ++if(LIBOMP_ENABLE_RTTI) ++ set(LIBOMP_USE_STDCPPLIB TRUE) ++endif() ++ + # Shared library can be switched to a static library + set(LIBOMP_ENABLE_SHARED TRUE CACHE BOOL + "Shared library instead of static library?") +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/runtime/src/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/openmp/runtime/src/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/runtime/src/CMakeLists.txt +@@ -157,6 +157,7 @@ set_source_files_properties(${LIBOMP_ASM + if(NOT ${LIBOMP_USE_STDCPPLIB}) + set(LIBOMP_LINKER_LANGUAGE C) + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nostdlib++") + else() + set(LIBOMP_LINKER_LANGUAGE CXX) + endif() +@@ -235,6 +236,8 @@ else() + ) + endif() + ++add_runtimes_build_depends_if_needed(omp) ++ + # Get the library's location within the build tree for the unit tester + if(NOT WIN32) + get_target_property(LIBOMP_LIBRARY_DIR omp LIBRARY_OUTPUT_DIRECTORY) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/tools/archer/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/openmp/tools/archer/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/openmp/tools/archer/CMakeLists.txt +@@ -15,6 +15,9 @@ if(LIBOMP_OMPT_SUPPORT AND LIBOMP_ARCHER + target_link_libraries(archer ${CMAKE_DL_LIBS}) + add_library(archer_static STATIC ompt-tsan.cpp) + ++ add_runtimes_build_depends_if_needed(archer) ++ add_runtimes_build_depends_if_needed(archer_static) ++ + install(TARGETS archer archer_static + LIBRARY DESTINATION ${OPENMP_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${OPENMP_INSTALL_LIBDIR}) +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/plugins-nextgen/host/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/offload/plugins-nextgen/host/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/plugins-nextgen/host/CMakeLists.txt +@@ -27,6 +27,8 @@ else() + target_include_directories(omptarget.rtl.host PRIVATE dynamic_ffi) + endif() + ++add_runtimes_build_depends_if_needed("omptarget.rtl.${machine}") ++ + target_include_directories(omptarget.rtl.host PRIVATE + ${LIBOMPTARGET_INCLUDE_DIR}) + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/libomptarget/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/offload/libomptarget/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/offload/libomptarget/CMakeLists.txt +@@ -40,6 +40,9 @@ add_llvm_library(omptarget + NO_INSTALL_RPATH + BUILDTREE_ONLY + ) ++ ++add_runtimes_build_depends_if_needed(omptarget) ++ + target_include_directories(omptarget PRIVATE + ${LIBOMPTARGET_INCLUDE_DIR} ${LIBOMPTARGET_BINARY_INCLUDE_DIR} + ) diff --git a/patches/openmp-soname.diff b/patches/openmp-soname.diff new file mode 100644 index 0000000000..e862bd0ad1 --- /dev/null +++ b/patches/openmp-soname.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/openmp/runtime/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/openmp/runtime/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/openmp/runtime/CMakeLists.txt +@@ -423,7 +423,8 @@ else() + set(LIBOMP_INSTALL_KIND ARCHIVE) + endif() + +-set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${LIBOMP_LIBRARY_SUFFIX}) ++set(LIBOMP_LIB_FILE ${LIBOMP_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIBOMP_VERSION_MAJOR}) ++ + + # Optional backwards compatibility aliases. + set(LIBOMP_INSTALL_ALIASES TRUE CACHE BOOL diff --git a/patches/openmp/openmp-check-execstack.diff b/patches/openmp/openmp-check-execstack.diff new file mode 100644 index 0000000000..92a335d2d6 --- /dev/null +++ b/patches/openmp/openmp-check-execstack.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/runtime/tools/check-execstack.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/openmp/runtime/tools/check-execstack.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/openmp/runtime/tools/check-execstack.py +@@ -30,7 +30,7 @@ def is_stack_executable_readelf(library) + error("{}: Not stack segment found".format(library)) + if len(stack_lines) > 1: + error("{}: More than one stack segment found".format(library)) +- h = r"0x[0-9a-fA-F]+" ++ h = r"0(?:x[0-9a-f]+)" + m = re.search( + r"((GNU_)?STACK)\s+({0})\s+({0})\s+({0})\s+({0})\s+({0})" + " ([R ][W ][E ])".format(h), diff --git a/patches/python-clangpath.diff b/patches/python-clangpath.diff new file mode 100644 index 0000000000..df44f4edfb --- /dev/null +++ b/patches/python-clangpath.diff @@ -0,0 +1,17 @@ +--- + clang/bindings/python/clang/cindex.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/bindings/python/clang/cindex.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/bindings/python/clang/cindex.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/bindings/python/clang/cindex.py +@@ -4217,7 +4217,7 @@ class Config: + elif name == "Windows": + file = "libclang.dll" + else: +- file = "libclang.so" ++ file = "libclang-21.so" + + if Config.library_path: + file = Config.library_path + "/" + file diff --git a/patches/python3-shebang.patch b/patches/python3-shebang.patch new file mode 100644 index 0000000000..83cabe00c4 --- /dev/null +++ b/patches/python3-shebang.patch @@ -0,0 +1,722 @@ +Description: change all shebangs to Python3 + find . -name "*.py" -exec sed "s|\!/usr/bin/env python$|\!/usr/bin/env python3|g" -i {} \; +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # =- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python -*-=# + # +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/bindings/python/examples/cindex/cindex-dump.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/bindings/python/examples/cindex/cindex-dump.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/bindings/python/examples/cindex/cindex-dump.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # ===- cindex-dump.py - cindex/Python Source Dump -------------*- python -*--===# + # +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/bindings/python/examples/cindex/cindex-includes.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/bindings/python/examples/cindex/cindex-includes.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/bindings/python/examples/cindex/cindex-includes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # ===- cindex-includes.py - cindex/Python Inclusion Graph -----*- python -*--===# + # +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-view/bin/scan-view +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-view/share/startfile.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/tools/scan-view/share/startfile.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-view/share/startfile.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # -*- coding: utf-8 -*- + + """Utility for opening a file using the default application in a cross-platform +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/ABITest/ABITestGen.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/ABITest/ABITestGen.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/ABITest/ABITestGen.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + from pprint import pprint +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CIndex/completion_logger_server.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/CIndex/completion_logger_server.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CIndex/completion_logger_server.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import absolute_import, division, print_function + import sys + from socket import * +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CaptureCmd +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/CaptureCmd ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CaptureCmd +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """CaptureCmd - A generic tool for capturing information about the + invocations of another program. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CmpDriver +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/CmpDriver ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/CmpDriver +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + A simple utility that compares tool invocations and exit codes issued by +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/FindSpecRefs +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/FindSpecRefs ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/FindSpecRefs +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import re +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/FuzzTest +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/FuzzTest ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/FuzzTest +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + This is a generic fuzz testing tool, see --help for more information. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/TestUtils/deep-stack.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/TestUtils/deep-stack.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/TestUtils/deep-stack.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/CmpRuns.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/CmpRuns.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/CmpRuns.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + CmpRuns - A simple tool for comparing two static analyzer runs to determine +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestAdd.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/SATestAdd.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestAdd.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Static Analyzer qualification infrastructure: adding a new project to +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestBuild.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/SATestBuild.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestBuild.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Static Analyzer qualification infrastructure. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestUpdateDiffs.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/SATestUpdateDiffs.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SATestUpdateDiffs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Update reference results for static analyzer. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SumTimerInfo.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/SumTimerInfo.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/SumTimerInfo.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """ + Script to Summarize statistics in the scan-build output. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/exploded-graph-rewriter.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/analyzer/exploded-graph-rewriter.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/analyzer/exploded-graph-rewriter.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # ===- exploded-graph-rewriter.py - ExplodedGraph dump tool -----*- python -*--# + # +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/check_cfc.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/check_cfc/check_cfc.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/check_cfc.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Check CFC - Check Compile Flow Consistency + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/obj_diff.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/check_cfc/obj_diff.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/obj_diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/test_check_cfc.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/check_cfc/test_check_cfc.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/check_cfc/test_check_cfc.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Test internal functions within check_cfc.py.""" + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/modfuzz.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/modfuzz.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/modfuzz.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # To use: + # 1) Update the 'decls' list below with your fuzzing configuration. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/token-delta.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/utils/token-delta.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/utils/token-delta.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import absolute_import, division, print_function + import os +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/asan/scripts/asan_symbolize.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/asan/scripts/asan_symbolize.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/asan/scripts/asan_symbolize.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # ===- lib/asan/scripts/asan_symbolize.py -----------------------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/fuzzer/scripts/unbalanced_allocs.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # ===- lib/fuzzer/scripts/unbalanced_allocs.py ------------------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # ===- lib/sanitizer_common/scripts/gen_dynamic_list.py ---------------------===# + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/sanitizer_common/scripts/sancov.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/compiler-rt/lib/sanitizer_common/scripts/sancov.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/compiler-rt/lib/sanitizer_common/scripts/sancov.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Merge or print the coverage data collected by asan's coverage. + # Input files are sequences of 4-byte integers. + # We need to merge these integers into a set and then +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/utils/cat_files.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/utils/cat_files.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/utils/cat_files.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # ===----------------------------------------------------------------------===## + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/utils/generate_feature_test_macro_components.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/libcxx/utils/generate_feature_test_macro_components.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/libcxx/utils/generate_feature_test_macro_components.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + from builtins import range +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lld/utils/benchmark.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lld/utils/benchmark.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lld/utils/benchmark.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. + # See https://llvm.org/LICENSE.txt for license information. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/examples/python/file_extract.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/examples/python/file_extract.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/examples/python/file_extract.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import string + import struct +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/scripts/analyze-project-deps.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/scripts/analyze-project-deps.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/scripts/analyze-project-deps.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import argparse + import itertools +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/scripts/verify_api.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/scripts/verify_api.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/scripts/verify_api.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import subprocess + import optparse +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/utils/lui/lui.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/utils/lui/lui.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/utils/lui/lui.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ##===-- lui.py -----------------------------------------------*- Python -*-===## + ## + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/utils/lui/sandbox.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lldb/utils/lui/sandbox.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lldb/utils/lui/sandbox.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ##===-- sandbox.py -------------------------------------------*- Python -*-===## + ## + # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/cached/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/cached/split-lib.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/complete/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/complete/split-lib.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/examples/Kaleidoscope/MCJIT/lazy/genk-timing.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/BugPoint/compile-custom.ll.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/test/BugPoint/compile-custom.ll.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/BugPoint/compile-custom.ll.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/Other/opt-bisect-helper.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/test/Other/opt-bisect-helper.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/Other/opt-bisect-helper.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/TableGen/JSON-check.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/test/TableGen/JSON-check.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/test/TableGen/JSON-check.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + import subprocess +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-diff.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/tools/opt-viewer/opt-diff.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-diff.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-stats.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/tools/opt-viewer/opt-stats.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-stats.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-viewer.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/tools/opt-viewer/opt-viewer.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/opt-viewer.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/optrecord.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/tools/opt-viewer/optrecord.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/tools/opt-viewer/optrecord.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/Misc/zkill +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/Misc/zkill ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/Misc/zkill +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import re +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/abtest.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/abtest.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/abtest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Given a previous good compile narrow down miscompiles. + # Expects two directories named "before" and "after" each containing a set of +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/bisect +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/bisect ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/bisect +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # The way you use this is you create a script that takes in as its first + # argument a count. The script passes into LLVM the count via a command +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/bugpoint_gisel_reducer.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/bugpoint_gisel_reducer.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/bugpoint_gisel_reducer.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Reduces GlobalISel failures. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/clang-parse-diagnostics-file +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/clang-parse-diagnostics-file ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/clang-parse-diagnostics-file +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import plistlib +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/create_ladder_graph.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/create_ladder_graph.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/create_ladder_graph.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """A ladder graph creation program. + + This is a python program that creates c source code that will generate +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/extract_symbols.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/extract_symbols.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/extract_symbols.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A tool for extracting a list of symbols to export + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/extract_vplan.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/extract_vplan.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/extract_vplan.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # This script extracts the VPlan digraphs from the vectoriser debug messages + # and saves them in individual dot files (one for each plan). Optionally, and +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/indirect_calls.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/indirect_calls.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/indirect_calls.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A tool for looking for indirect jumps and calls in x86 binaries. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/lit/ProgressBar.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/lit/ProgressBar.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Source: http://code.activestate.com/recipes/475116/, with + # modifications by Daniel Dunbar. +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import sys +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/googletest-timeout/DummySubDir/OneTest.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + import sys +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-bad-encoding.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/check_args.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import argparse + import platform +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stderr.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/lit/tests/Inputs/shtest-shell/write-to-stdout-and-stderr.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import sys + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/llvm-gisel-cov.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/llvm-gisel-cov.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/llvm-gisel-cov.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + Summarize the information in the given coverage files. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/prepare-code-coverage-artifact.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/prepare-code-coverage-artifact.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/prepare-code-coverage-artifact.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/release/findRegressions-nightly.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/release/findRegressions-nightly.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/release/findRegressions-nightly.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + from __future__ import print_function + + import re, string, sys, os, time +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/release/findRegressions-simple.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/release/findRegressions-simple.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/release/findRegressions-simple.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + from __future__ import print_function + import re, string, sys, os, time, math +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/shuffle_fuzz.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/shuffle_fuzz.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/shuffle_fuzz.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A shuffle vector fuzz tester. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/shuffle_select_fuzz_tester.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/shuffle_select_fuzz_tester.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/shuffle_select_fuzz_tester.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """A shuffle-select vector fuzz tester. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/sort_includes.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/sort_includes.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/sort_includes.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + """Script to sort the top-most block of #include lines. + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/unicode-case-fold.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/unicode-case-fold.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/unicode-case-fold.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + Unicode case folding database conversion utility + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/wciia.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/utils/wciia.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/utils/wciia.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + """ + wciia - Whose Code Is It Anyway + diff --git a/patches/remove-apple-clang-manpage.diff b/patches/remove-apple-clang-manpage.diff new file mode 100644 index 0000000000..c48378da5c --- /dev/null +++ b/patches/remove-apple-clang-manpage.diff @@ -0,0 +1,41 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/docs/CommandGuide/clang.rst +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/docs/CommandGuide/clang.rst ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/docs/CommandGuide/clang.rst +@@ -372,24 +372,10 @@ Clang fully supports cross compilation a + Depending on how your version of Clang is configured, it may have support for a + number of cross compilers, or may only support a native target. + +-.. option:: -arch +- +- Specify the architecture to build for (Mac OS X specific). +- + .. option:: -target + + Specify the architecture to build for (all platforms). + +-.. option:: -mmacos-version-min= +- +- When building for macOS, specify the minimum version supported by your +- application. +- +-.. option:: -miphoneos-version-min +- +- When building for iPhone OS, specify the minimum version supported by your +- application. +- + .. option:: --print-supported-cpus + + Print out a list of supported processors for the given target (specified +@@ -768,11 +754,6 @@ ENVIRONMENT + paths to be used when processing the corresponding language. Search paths are + delimited as for the :envvar:`CPATH` environment variable. + +-.. envvar:: MACOSX_DEPLOYMENT_TARGET +- +- If :option:`-mmacos-version-min` is unspecified, the default deployment +- target is read from this environment variable. This option only affects +- Darwin targets. + + BUGS + ---- diff --git a/patches/remove-test-freezing.diff b/patches/remove-test-freezing.diff new file mode 100644 index 0000000000..7477b48b3d --- /dev/null +++ b/patches/remove-test-freezing.diff @@ -0,0 +1,10 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/test/sanitizer_common/TestCases/Linux/sysconf_interceptor_bypass_test.cpp +@@ -1,4 +1,5 @@ + // RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s ++// XFAIL: * + + #include + diff --git a/patches/revert-issue-139220.diff b/patches/revert-issue-139220.diff new file mode 100644 index 0000000000..8397eee89d --- /dev/null +++ b/patches/revert-issue-139220.diff @@ -0,0 +1,53 @@ + +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/llvm/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/llvm/CMakeLists.txt +@@ -144,23 +144,6 @@ foreach(proj ${LLVM_ENABLE_PROJECTS}) + endif() + endforeach() + +-# Select the runtimes to build +-# +-# As we migrate runtimes to using the bootstrapping build, the set of default runtimes +-# should grow as we remove those runtimes from LLVM_ENABLE_PROJECTS above. +-set(LLVM_DEFAULT_RUNTIMES "libcxx;libcxxabi;libunwind") +-set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;libcxx;compiler-rt;openmp;llvm-libgcc;offload;flang-rt;libclc") +-set(LLVM_ENABLE_RUNTIMES "" CACHE STRING +- "Semicolon-separated list of runtimes to build, or \"all\" (${LLVM_DEFAULT_RUNTIMES}). Supported runtimes are ${LLVM_SUPPORTED_RUNTIMES}.") +-if(LLVM_ENABLE_RUNTIMES STREQUAL "all") +- set(LLVM_ENABLE_RUNTIMES ${LLVM_DEFAULT_RUNTIMES}) +-endif() +-foreach(proj IN LISTS LLVM_ENABLE_RUNTIMES) +- if (NOT "${proj}" IN_LIST LLVM_SUPPORTED_RUNTIMES) +- message(FATAL_ERROR "Runtime \"${proj}\" is not a supported runtime. Supported runtimes are: ${LLVM_SUPPORTED_RUNTIMES}") +- endif() +-endforeach() +- + if ("flang" IN_LIST LLVM_ENABLE_PROJECTS) + if (NOT "mlir" IN_LIST LLVM_ENABLE_PROJECTS) + message(STATUS "Enabling MLIR as a dependency to flang") +@@ -219,6 +202,23 @@ if ("libclc" IN_LIST LLVM_ENABLE_PROJECT + "https://libclc.llvm.org/ for building the runtimes.") + endif() + ++# Select the runtimes to build ++# ++# As we migrate runtimes to using the bootstrapping build, the set of default runtimes ++# should grow as we remove those runtimes from LLVM_ENABLE_PROJECTS above. ++set(LLVM_DEFAULT_RUNTIMES "libcxx;libcxxabi;libunwind") ++set(LLVM_SUPPORTED_RUNTIMES "libc;libunwind;libcxxabi;libcxx;compiler-rt;openmp;llvm-libgcc;offload;flang-rt;libclc") ++set(LLVM_ENABLE_RUNTIMES "" CACHE STRING ++ "Semicolon-separated list of runtimes to build, or \"all\" (${LLVM_DEFAULT_RUNTIMES}). Supported runtimes are ${LLVM_SUPPORTED_RUNTIMES}.") ++if(LLVM_ENABLE_RUNTIMES STREQUAL "all") ++ set(LLVM_ENABLE_RUNTIMES ${LLVM_DEFAULT_RUNTIMES}) ++endif() ++foreach(proj IN LISTS LLVM_ENABLE_RUNTIMES) ++ if (NOT "${proj}" IN_LIST LLVM_SUPPORTED_RUNTIMES) ++ message(FATAL_ERROR "Runtime \"${proj}\" is not a supported runtime. Supported runtimes are: ${LLVM_SUPPORTED_RUNTIMES}") ++ endif() ++endforeach() ++ + # Set a shorthand option to enable the GPU build of the 'libc' project. + option(LIBC_GPU_BUILD "Enable the 'libc' project targeting the GPU" OFF) + if(LIBC_GPU_BUILD) diff --git a/patches/revert-update-doc.diff b/patches/revert-update-doc.diff new file mode 100644 index 0000000000..c7bb666774 --- /dev/null +++ b/patches/revert-update-doc.diff @@ -0,0 +1,178 @@ +commit e80c52986e1bb3afa6a92c58b1cb897877923a66 +Author: Tom Stellard +Date: Tue Feb 1 23:13:01 2022 -0800 + + [docs] Remove hard-coded version numbers from sphinx configs + + This updates all the non-runtime project release notes to use the + version number from CMake instead of the hard-coded version numbers + in conf.py. + + It also hides warnings about pre-releases when the git suffix + is dropped from the LLVM version in CMake. + + Reviewed By: MaskRay + + Differential Revision: https://reviews.llvm.org/D112181 + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang-tools-extra/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang-tools-extra/docs/conf.py +@@ -44,6 +44,15 @@ master_doc = "index" + project = "Extra Clang Tools" + copyright = "2007-%d, The Clang Team" % date.today().year + ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short version. ++version = '15' ++# The full version, including alpha/beta/rc tags. ++release = '15' ++ + # The language for content autogenerated by Sphinx. Refer to documentation + # for a list of supported languages. + # language = None +@@ -78,11 +87,6 @@ pygments_style = "friendly" + # A list of ignored prefixes for module index sorting. + # modindex_common_prefix = [] + +-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else "" +- +-rst_epilog = f""" +-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes +-""" + + # -- Options for HTML output --------------------------------------------------- + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/docs/conf.py +@@ -57,6 +57,15 @@ master_doc = "index" + project = "Clang" + copyright = "2007-%d, The Clang Team" % date.today().year + ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short version. ++version = '15' ++# The full version, including alpha/beta/rc tags. ++release = '15' ++ + # The language for content autogenerated by Sphinx. Refer to documentation + # for a list of supported languages. + # language = None +@@ -88,11 +97,6 @@ exclude_patterns = ["_build"] + # The name of the Pygments (syntax highlighting) style to use. + pygments_style = "friendly" + +-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else "" +- +-rst_epilog = f""" +-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes +-""" + + # -- Options for HTML output --------------------------------------------------- + +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lld/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/lld/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/lld/docs/conf.py +@@ -43,6 +43,15 @@ master_doc = "index" + project = "lld" + copyright = "2011-%d, LLVM Project" % date.today().year + ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short version. ++version = '15' ++# The full version, including alpha/beta/rc tags. ++release = '15' ++ + # The language for content autogenerated by Sphinx. Refer to documentation + # for a list of supported languages. + # language = None +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/cmake/modules/AddSphinxTarget.cmake +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/cmake/modules/AddSphinxTarget.cmake ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/cmake/modules/AddSphinxTarget.cmake +@@ -40,10 +40,6 @@ function (add_sphinx_target builder proj + set(ARG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + endif() + +- if ("${LLVM_VERSION_SUFFIX}" STREQUAL "git") +- set(PreReleaseTag "-tPreRelease") +- endif() +- + add_custom_target(${SPHINX_TARGET_NAME} + COMMAND ${CMAKE_COMMAND} -E env ${ARG_ENV_VARS} + ${SPHINX_EXECUTABLE} +@@ -51,9 +47,6 @@ function (add_sphinx_target builder proj + -d "${SPHINX_DOC_TREE_DIR}" + -q # Quiet: no output other than errors and warnings. + -t builder-${builder} # tag for builder +- -D version=${LLVM_VERSION_MAJOR} +- -D release=${PACKAGE_VERSION} +- ${PreReleaseTag} + ${SPHINX_WARNINGS_AS_ERRORS_FLAG} # Treat warnings as errors if requested + "${ARG_SOURCE_DIR}" # Source + "${SPHINX_BUILD_DIR}" # Output +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/llvm/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/llvm/docs/conf.py +@@ -63,6 +63,15 @@ master_doc = "index" + project = "LLVM" + copyright = "2003-%d, LLVM Project" % date.today().year + ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short version. ++version = '15' ++# The full version, including alpha/beta/rc tags. ++release = '15' ++ + # The language for content autogenerated by Sphinx. Refer to documentation + # for a list of supported languages. + # language = None +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/polly/docs/conf.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/polly/docs/conf.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/polly/docs/conf.py +@@ -44,6 +44,15 @@ master_doc = "index" + project = "Polly" + copyright = "2010-%d, The Polly Team" % date.today().year + ++# The version info for the project you're documenting, acts as replacement for ++# |version| and |release|, also used in various other places throughout the ++# built documents. ++# ++# The short X.Y version. ++version = '15.0' ++# The full version, including alpha/beta/rc tags. ++release = '15.0' ++ + # The language for content autogenerated by Sphinx. Refer to documentation + # for a list of supported languages. + # language = None +@@ -78,11 +87,6 @@ pygments_style = "friendly" + # A list of ignored prefixes for module index sorting. + # modindex_common_prefix = [] + +-in_progress_title = "(In-Progress) " if tags.has("PreRelease") else "" +- +-rst_epilog = f""" +-.. |ReleaseNotesTitle| replace:: {in_progress_title} Release Notes +-""" + + # -- Options for HTML output --------------------------------------------------- + diff --git a/patches/scan-build-clang-path.diff b/patches/scan-build-clang-path.diff new file mode 100644 index 0000000000..14bdade784 --- /dev/null +++ b/patches/scan-build-clang-path.diff @@ -0,0 +1,17 @@ +--- + clang/tools/scan-build/bin/scan-build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-build/bin/scan-build +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/scan-build/bin/scan-build ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-build/bin/scan-build +@@ -1505,7 +1505,7 @@ sub FindClang { + if (!defined $Options{AnalyzerDiscoveryMethod}) { + $Clang = Cwd::realpath("$RealBin/bin/clang") if (-f "$RealBin/bin/clang"); + if (!defined $Clang || ! -x $Clang) { +- $Clang = Cwd::realpath("$RealBin/clang") if (-f "$RealBin/clang"); ++ $Clang = Cwd::realpath("/usr/lib/llvm-21/bin/clang"); + if (!defined $Clang || ! -x $Clang) { + # When an Xcode toolchain is present, look for a clang in the sibling bin + # of the parent of the bin directory. So if scan-build is at diff --git a/patches/scan-build-py-fix-default-bin.diff b/patches/scan-build-py-fix-default-bin.diff new file mode 100644 index 0000000000..d439167cf8 --- /dev/null +++ b/patches/scan-build-py-fix-default-bin.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-build-py/lib/libscanbuild/arguments.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef.orig/clang/tools/scan-build-py/lib/libscanbuild/arguments.py ++++ llvm-toolchain-snapshot_21~++20250422120724+c1940cd0deef/clang/tools/scan-build-py/lib/libscanbuild/arguments.py +@@ -293,7 +293,7 @@ def create_analyze_parser(from_build_com + "--use-analyzer", + metavar="", + dest="clang", +- default="clang", ++ default="clang-21", + help="""'%(prog)s' uses the 'clang' executable relative to itself for + static analysis. One can override this behavior with this option by + using the 'clang' packaged with Xcode (on OS X) or from the PATH.""", diff --git a/patches/scan-view-fix-path.diff b/patches/scan-view-fix-path.diff new file mode 100644 index 0000000000..63a85b26aa --- /dev/null +++ b/patches/scan-view-fix-path.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-view/bin/scan-view +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/tools/scan-view/bin/scan-view ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/tools/scan-view/bin/scan-view +@@ -64,7 +64,7 @@ def start_browser(port, options): + + def run(port, options, root): + # Prefer to look relative to the installed binary +- share = os.path.dirname(__file__) + "/../share/scan-view" ++ share = os.path.dirname(__file__) + "/../share/" + if not os.path.isdir(share): + # Otherwise look relative to the source + share = os.path.dirname(__file__) + "/../../scan-view/share" diff --git a/patches/series b/patches/series new file mode 100644 index 0000000000..b285513b01 --- /dev/null +++ b/patches/series @@ -0,0 +1,143 @@ +# Debian versions +clang-format-version.diff +clang-analyzer-force-version.diff + +# Disabling features +23-strlcpy_strlcat_warning_removed.diff + +declare_clear_cache.diff +unwind-chain-inclusion.diff + +# Path updates +python-clangpath.diff +fix-clang-path-and-build.diff +0048-Set-html_static_path-_static-everywhere.patch +symbolizer-path.diff +clang-tidy-run-bin.diff +debug-jit-path.diff + +# commented because of bug 903709 +#force-gcc-header-obj.diff + +do-not-fail-on-unexpected-pass.diff + +# Lib names +0044-soname.diff +lldb/lldb-soname.diff +#lldb-libname.diff +openmp-soname.diff + +# Disable some tests +silent-gold-test.diff +silent-more-tests.diff +silent-MCJIIT-tests.diff +silent-gold-utils.diff +silent-test-failing-codeverage.diff +silent-test-macho.diff +silent-llvm-isel-fuzzer.diff +remove-test-freezing.diff +disable-llvm-symbolizer-test.diff +disable-path-test-failing.diff + +# Decrease the freq for the keep alive +test-keep-alive.diff + +# scan-build +scan-build-clang-path.diff +scan-view-fix-path.diff +fix-scan-view-path.diff + +# lldb +lldb/lldb-addversion-suffix-to-llvm-server-exec.patch +lldb/lldb-missing-install.diff + +# Fix arch issue +disable-error-xray.diff + +# OpenMP +openmp/openmp-check-execstack.diff + +# libcxx +libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch +libcxx/libcxxabi-arm-ehabi-fix.patch +libcxx/libcxx-silent-test-libcxx.diff +libcxx/libcxx-silent-failure-ppc64el.diff +libcxx/libcxx-silent-failure-arm64.diff +libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff +libcxx/libcxxabi-fix-link-builtins.diff +libcxx/libcxx-armhf-ftbfs.diff + +# Change default optims +mips/mips-fpxx-enable.diff +mips/mips-force-nomadd4.patch +mips/syscall-mips64el-def.diff + +26-set-correct-float-abi.diff +clang-arm-default-vfp3-on-armv7a.patch + +# For the bootstrap +clangd-atomic-cmake.patch + +# Fix docs +# https://reviews.llvm.org/D60380 +remove-apple-clang-manpage.diff +0049-Use-Debian-provided-MathJax-everywhere.patch + +# Hurd port +hurd/hurd-pathmax.diff +hurd/47211c4b96e99a3344a71570a99b991c5f5c1c01.patch + +930008-arm.diff +bootstrap-fix-include-next.diff + +# bug 939472 +#try-to-unbreak-thinlto.diff +#D67877-cmake-clang-example.patch + +python3-shebang.patch +lldb/print-lldb-path.patch +lower-python-dep.diff +scan-build-py-fix-default-bin.diff + +omp-riscv64.patch +lldb/test-disable-lldb-i386.diff +llvm-fix-lld-linker-check.diff +openmp-fix-runtimes-build.diff +libclc-fix-prepare_builtins-rpath.diff +llvm-runtimes-builtins-build-check.diff +issue-54242.diff + +# compiler-rt +compiler-rt/compilerrt-builtins-arch-fix-armhf.diff +compiler-rt/compilerrt-build-scudo-standalone-option.diff + + +# wasm patches +wasm/wasm-ld-path.diff +wasm/wasm-compiler-rt-default.diff +wasm/wasm-sysroot-usr.diff + +revert-update-doc.diff + +unwind-force-pthread-dl.diff +force-sse2-compiler-rt.diff +bolt-disable-emit-relocs.patch +link-grpc.diff +libclang-major-version-only.diff +D148945-revert.diff +arm32-defaults.diff +disable-openmp-per-target.diff +offload-disable-static-assert.diff +link-with-package-metadata.diff +mips-mlir-xgot.diff +#env-lld-package-metadata.diff +bolt-disable-proc-check.diff +#cmake-issue-126358.diff +lower-flang-py-dep.diff +revert-issue-139220.diff +unbreak-arhmf.patch +ubuntu-resolute.patch +fix-crash-ghc-arm.patch + +# only apply this patch for Ubuntu 25.10 or newer +#ubuntu-clang-use-RVA23U64-profile.patch diff --git a/patches/silent-MCJIIT-tests.diff b/patches/silent-MCJIIT-tests.diff new file mode 100644 index 0000000000..af91f79c6b --- /dev/null +++ b/patches/silent-MCJIIT-tests.diff @@ -0,0 +1,44 @@ +--- + test/BugPoint/crash-narrowfunctiontest.ll | 1 - + test/BugPoint/remove_arguments_test.ll | 1 - + test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/eh-lg-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/stubs-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/eh-lg-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/multi-module-sm-pic-a.ll | 2 +- + test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/stubs-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll | 2 +- + test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll | 2 +- + test/Feature/load_module.ll | 1 - + 17 files changed, 14 insertions(+), 17 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb.orig/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll ++++ llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=mcjit -remote-mcjit -mcjit-remote-process=lli-child-target \ + ; RUN: -relocation-model=pic -code-model=small %s > /dev/null +-; XFAIL: target={{(mips|mipsel)-.*}}, target={{(aarch64|arm).*}}, target={{(i686|i386).*}} ++; XFAIL: * + ; XFAIL: target={{.*-windows-(gnu|msvc)}} + ; REQUIRES: thread_support + ; UNSUPPORTED: target=target=powerpc64-unknown-linux-gnu +Index: llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb.orig/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll ++++ llvm-toolchain-snapshot_21~++20250608115924+20a6b63f1beb/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +@@ -1,6 +1,6 @@ + ; RUN: %lli -jit-kind=mcjit -remote-mcjit -mcjit-remote-process=lli-child-target \ + ; RUN: -O0 -relocation-model=pic -code-model=small %s +-; XFAIL: target={{(mips|mipsel)-.*}}, target={{(aarch64|arm).*}}, target={{(i686|i386).*}} ++; XFAIL: * + ; XFAIL: target={{.*-windows-(gnu|msvc)}} + ; REQUIRES: thread_support + ; UNSUPPORTED: target=powerpc64-unknown-linux-gnu diff --git a/patches/silent-gold-test.diff b/patches/silent-gold-test.diff new file mode 100644 index 0000000000..b9d3637cce --- /dev/null +++ b/patches/silent-gold-test.diff @@ -0,0 +1,38 @@ +Description: fails on debian unstable amd64 + Command Output (stderr): + -- + /build/llvm-toolchain-snapshot-4.0~svn279916/llvm/test/tools/gold/X86/start-lib-common.ll:22:10: error: expected string not found in input + ; CHECK: @x = common global i32 0, align 8 + ^ + :1:1: note: scanning from here + ; ModuleID = '/build/llvm-toolchain-snapshot-4.0~svn279916/build-llvm/llvm/test/tools/gold/X86/Output/start-lib-common.ll.tmp3.o' + ^ + :4:1: note: possible intended match here + @x = common global i32 0, align 4 + ^ + + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/start-lib-common.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/start-lib-common.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/start-lib-common.ll +@@ -9,6 +9,7 @@ + ; RUN: -shared %t1.o --start-lib %t2.o --end-lib -o %t3.o + ; RUN: llvm-dis %t3.o -o - | FileCheck %s + ++; XFAIL: * + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + @x = common global i32 0, align 4 + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/comdat.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/comdat.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/comdat.ll +@@ -5,6 +5,7 @@ + ; RUN: -plugin-opt=save-temps + ; RUN: FileCheck --check-prefix=RES %s < %t3.o.resolution.txt + ; RUN: llvm-readobj --symbols %t3.o | FileCheck --check-prefix=OBJ %s ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" diff --git a/patches/silent-gold-utils.diff b/patches/silent-gold-utils.diff new file mode 100644 index 0000000000..1b8d1ba628 --- /dev/null +++ b/patches/silent-gold-utils.diff @@ -0,0 +1,190 @@ +--- + test/tools/gold/X86/common_thinlto.ll | 1 + + test/tools/gold/X86/emit-llvm.ll | 2 ++ + test/tools/gold/X86/parallel.ll | 1 + + test/tools/gold/X86/pr19901_thinlto.ll | 1 + + test/tools/gold/X86/slp-vectorize.ll | 1 + + test/tools/gold/X86/strip_names.ll | 1 + + test/tools/gold/X86/thinlto.ll | 2 ++ + test/tools/gold/X86/thinlto_archive.ll | 1 + + test/tools/gold/X86/thinlto_internalize.ll | 2 ++ + test/tools/gold/X86/thinlto_linkonceresolution.ll | 2 ++ + test/tools/gold/X86/thinlto_weak_resolution.ll | 3 ++- + test/tools/gold/X86/type-merge2.ll | 2 +- + test/tools/gold/X86/vectorize.ll | 1 + + test/tools/gold/X86/visibility.ll | 1 + + 14 files changed, 19 insertions(+), 2 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/common_thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/common_thinlto.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/common_thinlto.ll +@@ -17,6 +17,7 @@ + + ; RUN: llvm-nm %t3 | FileCheck %s --check-prefix=NM + ; NM: bar ++; XFAIL: * + + source_filename = "common1.c" + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/emit-llvm.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/emit-llvm.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/emit-llvm.ll +@@ -21,6 +21,8 @@ + ; RUN: not test -a %t4.o + + ; NM: T f3 ++; XFAIL: * ++ + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/parallel.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/parallel.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/parallel.ll +@@ -5,6 +5,7 @@ + ; RUN: llvm-dis %t.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-BC1 %s + ; RUN: llvm-nm %t.lto.o | FileCheck --check-prefix=CHECK0 %s + ; RUN: llvm-nm %t.lto.o1 | FileCheck --check-prefix=CHECK1 %s ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/pr19901_thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/pr19901_thinlto.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/pr19901_thinlto.ll +@@ -4,6 +4,7 @@ + ; RUN: --plugin-opt=thinlto \ + ; RUN: -shared -m elf_x86_64 -o %t.so %t2.o %t.o + ; RUN: llvm-readobj --symbols %t.so | FileCheck %s ++; XFAIL: i686, i386 + + ; CHECK: Symbol { + ; CHECK: Name: f +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/slp-vectorize.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/slp-vectorize.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/slp-vectorize.ll +@@ -6,6 +6,7 @@ + + ; test that the vectorizer is run. + ; CHECK: fadd <4 x float> ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/strip_names.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/strip_names.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/strip_names.ll +@@ -25,6 +25,7 @@ + ; NONAME: %2 = load i32, ptr @GlobalValueName + ; NONAME: %3 = add i32 %0, %2 + ; NONAME: ret i32 %3 ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/thinlto.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto.ll +@@ -145,6 +145,8 @@ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ++; XFAIL: i686, i386 ++ + declare void @g(...) + + define void @f() { +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_archive.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/thinlto_archive.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_archive.ll +@@ -15,6 +15,7 @@ + ; RUN: --plugin-opt=jobs=1 \ + ; RUN: -shared %t.o %t.a -o %t4 2>&1 | FileCheck %s + ; RUN: llvm-nm %t4 | FileCheck %s --check-prefix=NM ++; XFAIL: i686, i386 + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_internalize.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/thinlto_internalize.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_internalize.ll +@@ -14,6 +14,8 @@ + ; h() should be internalized after promotion, and eliminated after inlining + ; CHECK-NOT: @h.llvm. + ++; XFAIL: i686, i386 ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + define i32 @g() { +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_linkonceresolution.ll +@@ -23,6 +23,8 @@ + ; OPT-NOT: @f() + ; OPT2: define weak_odr hidden void @f() + ++; XFAIL: i686, i386 ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + define i32 @g() { +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/thinlto_weak_resolution.ll +@@ -9,6 +9,7 @@ + ; RUN: --plugin-opt=save-temps \ + ; RUN: -shared \ + ; RUN: -o %t3.o %t.o %t2.o ++; XFAIL: i686, i386 + + ; RUN: llvm-nm %t3.o | FileCheck %s + ; CHECK: weakfunc +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/type-merge2.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/type-merge2.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/type-merge2.ll +@@ -6,6 +6,8 @@ + ; RUN: -shared %t.o %t2.o -o %t3.o + ; RUN: llvm-dis %t3.o.0.2.internalize.bc -o - | FileCheck %s + ++; XFAIL: * ++ + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/vectorize.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/vectorize.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/vectorize.ll +@@ -6,6 +6,7 @@ + + ; test that the vectorizer is run. + ; CHECK: fadd <4 x float> ++; XFAIL: * + + target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/visibility.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/gold/X86/visibility.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/gold/X86/visibility.ll +@@ -16,6 +16,7 @@ + ; CHECK-NEXT: Other [ + ; CHECK-NEXT: STV_PROTECTED + ; CHECK-NEXT: ] ++; XFAIL: * + + ; IR: define dso_local void @foo + diff --git a/patches/silent-llvm-isel-fuzzer.diff b/patches/silent-llvm-isel-fuzzer.diff new file mode 100644 index 0000000000..fab93a12fe --- /dev/null +++ b/patches/silent-llvm-isel-fuzzer.diff @@ -0,0 +1,24 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-isel-fuzzer/aarch64-execname-options.ll +@@ -2,6 +2,7 @@ + ; without copying the whole lib dir or polluting the build dir. + ; REQUIRES: static-libs + ; REQUIRES: aarch64-registered-target ++: XFAIL: * + + ; The above also applies if the binary is built with libc++. + ; UNSUPPORTED: libcxx-used +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/tools/llvm-isel-fuzzer/execname-options.ll +@@ -1,6 +1,7 @@ + ; If the binary looks up libraries using an rpath, we can't test this + ; without copying the whole lib dir or polluting the build dir. + ; REQUIRES: static-libs ++: XFAIL: * + + ; The above also applies if the binary is built with libc++. + ; UNSUPPORTED: libcxx-used diff --git a/patches/silent-more-tests.diff b/patches/silent-more-tests.diff new file mode 100644 index 0000000000..c4c89a4070 --- /dev/null +++ b/patches/silent-more-tests.diff @@ -0,0 +1,23 @@ +# Comment the tests for the code coverage (fails otherwise) + + +--- + test/BugPoint/crash-narrowfunctiontest.ll | 1 + + test/BugPoint/metadata.ll | 3 ++- + test/BugPoint/remove_arguments_test.ll | 1 + + test/Feature/load_module.ll | 1 + + 4 files changed, 5 insertions(+), 1 deletion(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/BugPoint/metadata.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/BugPoint/metadata.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/BugPoint/metadata.ll +@@ -18,6 +18,8 @@ + ; NOTYPE: !DICompileUnit + ; NOTYPE-NOT: !DIBasicType + ++; XFAIL: * ++ + %rust_task = type {} + define void @test(ptr %a, ptr %b) !dbg !9 { + %s = mul i8 22, 9, !attach !0, !dbg !10 diff --git a/patches/silent-test-failing-codeverage.diff b/patches/silent-test-failing-codeverage.diff new file mode 100644 index 0000000000..7fa8126c39 --- /dev/null +++ b/patches/silent-test-failing-codeverage.diff @@ -0,0 +1,13 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/ThinLTO/X86/autoupgrade.ll +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/ThinLTO/X86/autoupgrade.ll ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/ThinLTO/X86/autoupgrade.ll +@@ -3,6 +3,8 @@ + ; RUN: opt -module-summary %s -o %t.bc + ; RUN: llvm-lto -thinlto-action=thinlink -o %t3.bc %t.bc %p/Inputs/autoupgrade.bc + ++; XFAIL: * ++ + ; We can't use llvm-dis here, because it would do the autoupgrade itself. + + ; RUN: llvm-link -summary-index=%t3.bc \ diff --git a/patches/silent-test-macho.diff b/patches/silent-test-macho.diff new file mode 100644 index 0000000000..4bb0cb47ba --- /dev/null +++ b/patches/silent-test-macho.diff @@ -0,0 +1,14 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/Object/macho-invalid.test +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/test/Object/macho-invalid.test ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/test/Object/macho-invalid.test +@@ -284,9 +284,6 @@ INVALID-DYLIB-WRONG-FILETYPE: macho-inva + RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-no-id 2>&1 | FileCheck --check-prefix=INVALID-DYLIB-NO-ID %s + INVALID-DYLIB-NO-ID: macho-invalid-dylib-no-id': truncated or malformed object (no LC_ID_DYLIB load command in dynamic library filetype) + +-RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-dylib-cmdsize-past-eof 2>&1 | FileCheck --check-prefix=INVALID-DYLIB-CMDSIZE %s +-INVALID-DYLIB-CMDSIZE: macho-invalid-dylib-cmdsize-past-eof': truncated or malformed object (load command 0 extends past end of file) +- + RUN: not llvm-objdump --macho --private-headers %p/Inputs/macho-invalid-uuid-more-than-one 2>&1 | FileCheck --check-prefix=INVALID-UUID-MORE-THAN-ONE %s + INVALID-UUID-MORE-THAN-ONE: macho-invalid-uuid-more-than-one': truncated or malformed object (more than one LC_UUID command) + diff --git a/patches/symbolizer-path.diff b/patches/symbolizer-path.diff new file mode 100644 index 0000000000..92708150c5 --- /dev/null +++ b/patches/symbolizer-path.diff @@ -0,0 +1,37 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +@@ -34,6 +34,11 @@ + # include "sanitizer_symbolizer_libbacktrace.h" + # include "sanitizer_symbolizer_mac.h" + ++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR ++ ++#define TOSTR2(X) #X ++#define TOSTR(X) TOSTR2(X) ++ + // C++ demangling function, as required by Itanium C++ ABI. This is weak, + // because we do not require a C++ ABI library to be linked to a program + // using sanitizers; if it's not present, we'll just use the mangled name. +@@ -461,7 +466,7 @@ static SymbolizerTool *ChooseExternalSym + return new (*allocator) AtosSymbolizer(found_path, allocator); + } + # endif // SANITIZER_APPLE +- if (const char *found_path = FindPathToBinary("llvm-symbolizer")) { ++ if (const char *found_path = "/usr/bin/llvm-symbolizer-" TOSTR(LLVM_VERSION_MAJOR)) { + VReport(2, "Using llvm-symbolizer found at: %s\n", found_path); + return new (*allocator) LLVMSymbolizer(found_path, allocator); + } +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/lib/sanitizer_common/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/compiler-rt/lib/sanitizer_common/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/compiler-rt/lib/sanitizer_common/CMakeLists.txt +@@ -223,6 +223,7 @@ if(MSVC) + endif() + + include_directories(..) ++include_directories(${LLVM_INCLUDE_DIR}) + + set(SANITIZER_COMMON_DEFINITIONS + HAVE_RPC_XDR_H=${HAVE_RPC_XDR_H}) diff --git a/patches/test-keep-alive.diff b/patches/test-keep-alive.diff new file mode 100644 index 0000000000..42143bfa4c --- /dev/null +++ b/patches/test-keep-alive.diff @@ -0,0 +1,21 @@ +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/utils/lit/lit/ProgressBar.py +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/llvm/utils/lit/lit/ProgressBar.py ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/llvm/utils/lit/lit/ProgressBar.py +@@ -203,15 +203,7 @@ class SimpleProgressBar: + return + + for i in range(self.atIndex, next): +- idx = i % 5 +- if idx == 0: +- sys.stdout.write("%2d" % (i * 2)) +- elif idx == 1: +- pass # Skip second char +- elif idx < 4: +- sys.stdout.write(".") +- else: +- sys.stdout.write(" ") ++ sys.stdout.write('%-2d ' % (i*2)) + sys.stdout.flush() + self.atIndex = next + diff --git a/patches/ubuntu-clang-use-RVA23U64-profile.patch b/patches/ubuntu-clang-use-RVA23U64-profile.patch new file mode 100644 index 0000000000..fb285fe5ce --- /dev/null +++ b/patches/ubuntu-clang-use-RVA23U64-profile.patch @@ -0,0 +1,32 @@ +From: Heinrich Schuchardt +Subject: [PATCH 1/1] clang: use RVA23U64 profile + +In riscv::getRISCVArch() update the ISA string that is either returned for +-mabi=lp64d or for triplet riscv64-linux-gnu. + +Forwarded: not-needed +Last-Update: 2025-08-13 +--- + clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp ++++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +@@ -324,7 +324,7 @@ std::string riscv::getRISCVArch(const ll + return "rv64imafdcv_zba_zbb_zbs"; + if (Triple.isOSFuchsia()) + return "rva22u64_v"; +- return "rv64imafdc"; ++ return "rv64i_m_a_f_d_c_b_v_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_zvkb_zvkt_zvl128b_zvl32b_zvl64b_supm"; + } + } + +@@ -345,7 +345,7 @@ std::string riscv::getRISCVArch(const ll + return "rv64imafdcv_zba_zbb_zbs"; + if (Triple.isOSFuchsia()) + return "rva22u64_v"; +- return "rv64imafdc"; ++ return "rv64i_m_a_f_d_c_b_v_zic64b_zicbom_zicbop_zicboz_ziccamoa_ziccif_zicclsm_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zmmul_za64rs_zaamo_zalrsc_zawrs_zfa_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbs_zkt_zvbb_zve32f_zve32x_zve64d_zve64f_zve64x_zvfhmin_zvkb_zvkt_zvl128b_zvl32b_zvl64b_supm"; + } + + std::string riscv::getRISCVTargetCPU(const llvm::opt::ArgList &Args, diff --git a/patches/ubuntu-resolute.patch b/patches/ubuntu-resolute.patch new file mode 100644 index 0000000000..870f1a729f --- /dev/null +++ b/patches/ubuntu-resolute.patch @@ -0,0 +1,35 @@ +commit 112ffe7c621e8bf145c5c5926e36f3af9e0fd045 +Author: Sylvestre Ledru +Date: Tue Apr 22 11:50:58 2025 +0200 + + Add support of the next Ubuntu (Ubuntu 25.10 - Questing Quokka) + +--- a/clang/include/clang/Driver/Distro.h ++++ b/clang/include/clang/Driver/Distro.h +@@ -84,6 +84,7 @@ public: + UbuntuOracular, + UbuntuPlucky, + UbuntuQuesting, ++ UbuntuResolute, + UnknownDistro + }; + +@@ -135,7 +136,7 @@ public: + } + + bool IsUbuntu() const { +- return DistroVal >= UbuntuHardy && DistroVal <= UbuntuQuesting; ++ return DistroVal >= UbuntuHardy && DistroVal <= UbuntuResolute; + } + + bool IsAlpineLinux() const { return DistroVal == AlpineLinux; } +--- a/clang/lib/Driver/Distro.cpp ++++ b/clang/lib/Driver/Distro.cpp +@@ -97,6 +97,7 @@ static Distro::DistroType DetectLsbRelea + .Case("oracular", Distro::UbuntuOracular) + .Case("plucky", Distro::UbuntuPlucky) + .Case("questing", Distro::UbuntuQuesting) ++ .Case("resolute", Distro::UbuntuResolute) + .Default(Distro::UnknownDistro); + return Version; + } diff --git a/patches/unbreak-arhmf.patch b/patches/unbreak-arhmf.patch new file mode 100644 index 0000000000..367bf82e26 --- /dev/null +++ b/patches/unbreak-arhmf.patch @@ -0,0 +1,28 @@ +From c3ee9ea6952286c571595ee20c0656f8e6974150 Mon Sep 17 00:00:00 2001 +From: "Mikhail R. Gadelha" +Date: Sat, 19 Jul 2025 14:30:18 -0300 +Subject: [PATCH] [libc] Fix setitimer build when full_build=OFF + +When we pull the headers from the system, we might get a suseconds_t +that's a long long, so add a cast to prevent a implicit conversion +error. +--- + libc/src/sys/time/linux/setitimer.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libc/src/sys/time/linux/setitimer.cpp b/libc/src/sys/time/linux/setitimer.cpp +index 1de0d43297760..fb163586e30d9 100644 +--- a/libc/src/sys/time/linux/setitimer.cpp ++++ b/libc/src/sys/time/linux/setitimer.cpp +@@ -22,9 +22,9 @@ LLVM_LIBC_FUNCTION(int, setitimer, + // There is no SYS_setitimer_time64 call, so we can't use time_t directly, + // and need to convert it to long first. + long new_value32[4] = {static_cast(new_value->it_interval.tv_sec), +- new_value->it_interval.tv_usec, ++ static_cast(new_value->it_interval.tv_usec), + static_cast(new_value->it_value.tv_sec), +- new_value->it_value.tv_usec}; ++ static_cast(new_value->it_value.tv_usec)}; + long old_value32[4]; + + ret = LIBC_NAMESPACE::syscall_impl(SYS_setitimer, which, new_value32, diff --git a/patches/unwind-chain-inclusion.diff b/patches/unwind-chain-inclusion.diff new file mode 100644 index 0000000000..d6c8bb894b --- /dev/null +++ b/patches/unwind-chain-inclusion.diff @@ -0,0 +1,43 @@ +# Without this patch, the first local include of unwind.h might, with the +# __has_include_next, try to include the one from the system. +# It might be /usr/include/clang/3.4/include/unwind.h +# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration +# from the system. + +--- + clang/lib/Headers/unwind.h | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +Index: llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/Headers/unwind.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7.orig/clang/lib/Headers/unwind.h ++++ llvm-toolchain-snapshot_21~++20250422102230+f541a3aad8e7/clang/lib/Headers/unwind.h +@@ -9,9 +9,6 @@ + + /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ + +-#ifndef __CLANG_UNWIND_H +-#define __CLANG_UNWIND_H +- + #if defined(__APPLE__) && __has_include_next() + /* Darwin (from 11.x on) provide an unwind.h. If that's available, + * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, +@@ -39,6 +36,9 @@ + # endif + #else + ++#ifndef __CLANG_UNWIND_H ++#define __CLANG_UNWIND_H ++ + #include + + #ifdef __cplusplus +@@ -327,6 +327,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc + } + #endif + ++#endif /* __CLANG_UNWIND_H */ ++ + #endif + +-#endif /* __CLANG_UNWIND_H */ diff --git a/patches/unwind-force-pthread-dl.diff b/patches/unwind-force-pthread-dl.diff new file mode 100644 index 0000000000..df09020ac4 --- /dev/null +++ b/patches/unwind-force-pthread-dl.diff @@ -0,0 +1,28 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libunwind/CMakeLists.txt +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/libunwind/CMakeLists.txt ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/libunwind/CMakeLists.txt +@@ -321,14 +321,17 @@ if (MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + endif() + +-if (C_SUPPORTS_COMMENT_LIB_PRAGMA) +- if (LIBUNWIND_HAS_DL_LIB) ++list(APPEND LIBUNWIND_LINK_FLAGS "-ldl") ++list(APPEND LIBUNWIND_LINK_FLAGS "-lpthread") ++ ++#if (C_SUPPORTS_COMMENT_LIB_PRAGMA) ++# if (LIBUNWIND_HAS_DL_LIB) + add_definitions(-D_LIBUNWIND_LINK_DL_LIB) +- endif() +- if (LIBUNWIND_HAS_PTHREAD_LIB) ++# endif() ++# if (LIBUNWIND_HAS_PTHREAD_LIB) + add_definitions(-D_LIBUNWIND_LINK_PTHREAD_LIB) +- endif() +-endif() ++# endif() ++#endif() + + #=============================================================================== + # Setup Source Code diff --git a/patches/wasm/wasm-compiler-rt-default.diff b/patches/wasm/wasm-compiler-rt-default.diff new file mode 100644 index 0000000000..96bd4f2c4d --- /dev/null +++ b/patches/wasm/wasm-compiler-rt-default.diff @@ -0,0 +1,35 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -460,6 +460,18 @@ ToolChain::RuntimeLibType WebAssembly::G + return ToolChain::RLT_CompilerRT; + } + ++ToolChain::RuntimeLibType WebAssembly::GetRuntimeLibType( ++ const ArgList &Args) const { ++ if (Arg *A = Args.getLastArg(options::OPT_rtlib_EQ)) { ++ StringRef Value = A->getValue(); ++ if (Value != "compiler-rt") ++ getDriver().Diag(clang::diag::err_drv_unsupported_rtlib_for_platform) ++ << Value << "WebAssembly"; ++ } ++ ++ return ToolChain::RLT_CompilerRT; ++} ++ + ToolChain::CXXStdlibType + WebAssembly::GetCXXStdlibType(const ArgList &Args) const { + if (Arg *A = Args.getLastArg(options::OPT_stdlib_EQ)) { +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/WebAssembly.h ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.h +@@ -56,6 +56,7 @@ private: + llvm::opt::ArgStringList &CC1Args, + Action::OffloadKind DeviceOffloadKind) const override; + RuntimeLibType GetDefaultRuntimeLibType() const override; ++ RuntimeLibType GetRuntimeLibType(const llvm::opt::ArgList &Args) const override; + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, diff --git a/patches/wasm/wasm-ld-path.diff b/patches/wasm/wasm-ld-path.diff new file mode 100644 index 0000000000..273a6321e5 --- /dev/null +++ b/patches/wasm/wasm-ld-path.diff @@ -0,0 +1,25 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -19,6 +19,11 @@ + #include "llvm/Support/Path.h" + #include "llvm/Support/VirtualFileSystem.h" + ++#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR ++ ++#define TOSTR2(X) #X ++#define TOSTR(X) TOSTR2(X) ++ + using namespace clang::driver; + using namespace clang::driver::tools; + using namespace clang::driver::toolchains; +@@ -270,7 +275,7 @@ WebAssembly::WebAssembly(const Driver &D + const char *WebAssembly::getDefaultLinker() const { + if (TargetBuildsComponents(getTriple())) + return "wasm-component-ld"; +- return "wasm-ld"; ++ return "wasm-ld-" TOSTR(LLVM_VERSION_MAJOR); + } + + bool WebAssembly::IsMathErrnoDefault() const { return false; } diff --git a/patches/wasm/wasm-sysroot-usr.diff b/patches/wasm/wasm-sysroot-usr.diff new file mode 100644 index 0000000000..8a197407cd --- /dev/null +++ b/patches/wasm/wasm-sysroot-usr.diff @@ -0,0 +1,122 @@ +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/WebAssembly.cpp ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.cpp +@@ -251,7 +251,7 @@ WebAssembly::WebAssembly(const Driver &D + + getProgramPaths().push_back(getDriver().Dir); + +- auto SysRoot = getDriver().SysRoot; ++ std::string SysRoot = computeSysRoot(); + if (getTriple().getOS() == llvm::Triple::UnknownOS) { + // Theoretically an "unknown" OS should mean no standard libraries, however + // it could also mean that a custom set of libraries is in use, so just add +@@ -493,6 +493,7 @@ void WebAssembly::AddClangSystemIncludeA + return; + + const Driver &D = getDriver(); ++ std::string SysRoot = computeSysRoot(); + + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + SmallString<128> P(D.ResourceDir); +@@ -516,12 +517,20 @@ void WebAssembly::AddClangSystemIncludeA + return; + } + ++ // add the multiarch path on e.g. wasm32-wasi + if (getTriple().getOS() != llvm::Triple::UnknownOS) { + const std::string MultiarchTriple = +- getMultiarchTriple(D, getTriple(), D.SysRoot); +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include/" + MultiarchTriple); ++ getMultiarchTriple(D, getTriple(), SysRoot); ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include/" + MultiarchTriple); ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/local/include"); ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include/" + MultiarchTriple); + } +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include"); ++ ++ // also add the non-multiarch path, only on a known OS (as above), or when ++ // a sysroot is given, for backwards compatibility with the original driver ++ if (getTriple().getOS() != llvm::Triple::UnknownOS || ++ !getDriver().SysRoot.empty()) ++ addSystemInclude(DriverArgs, CC1Args, SysRoot + "/include"); + } + + void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, +@@ -577,6 +586,17 @@ Tool *WebAssembly::buildLinker() const { + return new tools::wasm::Linker(*this); + } + ++std::string WebAssembly::computeSysRoot() const { ++ if (!getDriver().SysRoot.empty()) ++ return getDriver().SysRoot; ++ ++ std::string Path = "/usr"; ++ if (getVFS().exists(Path)) ++ return Path; ++ ++ return std::string(); ++} ++ + void WebAssembly::addLibCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { +@@ -587,18 +607,22 @@ void WebAssembly::addLibCxxIncludePaths( + getMultiarchTriple(D, getTriple(), SysRoot); + bool IsKnownOs = (getTriple().getOS() != llvm::Triple::UnknownOS); + +- std::string Version = detectLibcxxVersion(LibPath); +- if (Version.empty()) +- return; +- + // First add the per-target include path if the OS is known. + if (IsKnownOs) { +- std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version; +- addSystemInclude(DriverArgs, CC1Args, TargetDir); ++ std::string Version = detectLibcxxVersion(LibPath + "/" + MultiarchTriple); ++ if (!Version.empty()) { ++ std::string TargetDir = LibPath + "/" + MultiarchTriple + "/c++/" + Version; ++ addSystemInclude(DriverArgs, CC1Args, TargetDir); ++ } + } + + // Second add the generic one. +- addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); ++ // don't include the host architecture's headers in the search path ++ if (!getDriver().SysRoot.empty()) { ++ std::string Version = detectLibcxxVersion(LibPath); ++ if (!Version.empty()) ++ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); ++ } + } + + void WebAssembly::addLibStdCXXIncludePaths( +@@ -645,8 +669,11 @@ void WebAssembly::addLibStdCXXIncludePat + addSystemInclude(DriverArgs, CC1Args, TargetDir); + } + +- // Second add the generic one. +- addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); +- // Third the backward one. +- addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); ++ // don't include the host architecture's headers in the search path ++ if (!getDriver().SysRoot.empty()) { ++ // Second add the generic one. ++ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version); ++ // Third the backward one. ++ addSystemInclude(DriverArgs, CC1Args, LibPath + "/c++/" + Version + "/backward"); ++ } + } +Index: llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.h +=================================================================== +--- llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779.orig/clang/lib/Driver/ToolChains/WebAssembly.h ++++ llvm-toolchain-snapshot_21~++20250630094904+57f7e14b5779/clang/lib/Driver/ToolChains/WebAssembly.h +@@ -84,6 +84,8 @@ private: + llvm::opt::ArgStringList &CC1Args) const; + void addLibStdCXXIncludePaths(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const; ++ ++ std::string computeSysRoot() const override; + }; + + } // end namespace toolchains diff --git a/pollycc.in b/pollycc.in new file mode 100755 index 0000000000..060cf5ed76 --- /dev/null +++ b/pollycc.in @@ -0,0 +1,3 @@ +#!/bin/sh + +clang -Xclang -load -Xclang /@LLVM_LIBDIR@/LLVMPolly.so $@ diff --git a/prepare-new-release.sh b/prepare-new-release.sh new file mode 100644 index 0000000000..c4bedff8bb --- /dev/null +++ b/prepare-new-release.sh @@ -0,0 +1,23 @@ +#!/bin/sh +ORIG_VERSION=20 +TARGET_VERSION=21 +ORIG_VERSION_2=20_0 +TARGET_VERSION_2=21_0 +ORIG_VERSION_3=200 +TARGET_VERSION_3=210 + +LIST=`ls debian/control debian/orig-tar.sh debian/rules debian/patches/clang-analyzer-force-version.diff debian/patches/clang-format-version.diff debian/patches/python-clangpath.diff debian/patches/scan-build-clang-path.diff debian/patches/lldb-libname.diff debian/patches/fix-scan-view-path.diff debian/patches/lldb/lldb-addversion-suffix-to-llvm-server-exec.patch debian/patches/clang-tidy-run-bin.diff debian/patches/fix-scan-view-path.diff debian/README debian/patches/clang-analyzer-force-version.diff debian/patches/clang-tidy-run-bin.diff debian/tests/control debian/tests/integration-test-suite-test debian/unpack.sh debian/tests/cmake-test debian/patches/scan-build-py-fix-default-bin.diff` +for F in $LIST; do + sed -i -e "s|$ORIG_VERSION_3|$TARGET_VERSION_3|g" $F + sed -i -e "s|$ORIG_VERSION_2|$TARGET_VERSION_2|g" $F + sed -i -e "s|$ORIG_VERSION|$TARGET_VERSION|g" $F +done + +echo "once you copy the old version into a new branch" +echo "edit debian/rules" +echo "edit debian/control, update the VCS links" +echo "edit debian/control, update the source pkg name" +echo "edit debian/changelog, update the source pkg name" +echo "edit debian/unpack.sh, replace snapshot by the version" +echo "NOTE: the first version of the $ORIG_VERSION should be $ORIG_VERSION, not $ORIG_VERSION.0.0" +echo "edit https://github.com/opencollab/llvm-jenkins.debian.net/blob/master/pbuilder-hookdir/B22scan-build" diff --git a/python3-clang-X.Y.install.in b/python3-clang-X.Y.install.in new file mode 100644 index 0000000000..796be86b94 --- /dev/null +++ b/python3-clang-X.Y.install.in @@ -0,0 +1 @@ +clang/bindings/python/clang/ /usr/lib/python3/dist-packages/ diff --git a/python3-lldb-X.Y.install.in b/python3-lldb-X.Y.install.in new file mode 100644 index 0000000000..5a5ddddac0 --- /dev/null +++ b/python3-lldb-X.Y.install.in @@ -0,0 +1 @@ +@LLVM_LIBDIR@/python3*/*-packages/lldb/ diff --git a/python3-lldb-X.Y.links.in b/python3-lldb-X.Y.links.in new file mode 100644 index 0000000000..cbda5364f8 --- /dev/null +++ b/python3-lldb-X.Y.links.in @@ -0,0 +1,5 @@ +# symlink to the library, not the .so symlink +usr/lib/@DEB_HOST_MULTIARCH@/liblldb-@LLVM_VERSION@.so.1 @LLVM_LIBDIR@/@PYTHON3@/site-packages/lldb/_lldb@PY_EXT_SUFFIX@ + +# make the whole package known to the system Python +@LLVM_LIBDIR@/@PYTHON3@/site-packages/lldb/ usr/lib/python3/dist-packages/lldb diff --git a/remove-unbuilt.py b/remove-unbuilt.py new file mode 100644 index 0000000000..3e1e581b7a --- /dev/null +++ b/remove-unbuilt.py @@ -0,0 +1,61 @@ +#! /usr/bin/python3 + +import optparse +import sys + + +def main(): + usage = """usage: %prog [OPTIONS] +strip not-built packages from the control file. +""" + parser = optparse.OptionParser(usage) + parser.add_option( + "--skip-common-packages", + dest="skip_common_packages", + action="store_true", + default=False, + help="skip packages built by the next LLVM version", + ) + parser.add_option( + "--skip-ocaml-packages", + dest="skip_ocaml_packages", + action="store_true", + default=False, + help="skip OCAML packages", + ) + (options, args) = parser.parse_args() + + if len(args) > 3 or len(args) < 3: + parser.error("takes 2 arguments ( )") + (control_file, common_list, ocaml_list) = args + + with open(common_list, "r") as f: + commons = set([s.strip() for s in f.readlines()]) + + with open(ocaml_list, "r") as f: + ocamls = set([s.strip() for s in f.readlines()]) + + sys.stderr.write("%d packages in the common list\n" % len(commons)) + sys.stderr.write("%d packages in the OCAML list\n" % len(ocamls)) + skip = False + excluded = 0 + with open(control_file, "r") as f: + for line in f: + if line.startswith("Package:"): + pkg = line.split()[-1].strip() + if options.skip_common_packages and pkg in commons: + skip = True + if options.skip_ocaml_packages and pkg in ocamls: + skip = True + if skip: + excluded += 1 + if skip and line == "\n": + skip = False + continue + if not skip: + sys.stdout.write(line) + sys.stderr.write("%d packages excluded from the control file\n" % excluded) + + +if __name__ == "__main__": + main() diff --git a/rules b/rules new file mode 100755 index 0000000000..2c4c2a9293 --- /dev/null +++ b/rules @@ -0,0 +1,2209 @@ +#!/usr/bin/make -f + +EMPTY = +COMMA = , +SPACE = $(EMPTY) $(EMPTY) + +# polly & lldb aren't enabled for every platform +PROJECTS = clang;clang-tools-extra;lld;cross-project-tests;mlir +# openmp & libunwind aren't enabled for every platform + +DEB_BUILD_PROFILES := $(DEB_BUILD_PROFILES) +export DEB_BUILD_PROFILES + +# FIXME: disable some PROJECTS according to build profiles +#ifeq (,$(filter llvm.noclang, $(DEB_BUILD_PROFILES))) +# DEB_BUILD_PROFILES += llvm.noclang +# $(warning LLVM PROFILES: enabled build profile llvm.noclang) +#endif + +TARGET_BUILD := build-llvm +TARGET_BUILD_STAGE2 := $(TARGET_BUILD)/tools/clang/stage2-bins +d = debian/tmp +DEB_INST := $(CURDIR)/$(d) + +GXX_VERSIONED_PACKAGE := $(shell dpkg-query -W -f '$${Depends}' g++ | grep -o 'g++-[0-9][0-9.]*' | tail -n1 ) +GXX_VERSIONED_EXECUTABLE := $(shell dpkg -L $(GXX_VERSIONED_PACKAGE) | grep '/usr/bin/g++-[0-9][0-9.]*' | xargs ls -d | tail -n1 ) +GCC_VERSION := $(subst /usr/bin/g++-,,$(GXX_VERSIONED_EXECUTABLE)) + +PYTHON3 := $(shell py3versions -d) +PY_EXT_SUFFIX := $(shell python3-config --extension-suffix) + +PKG_VERSION := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}') +LLVM_EPOCH := 1: +LLVM_VERSION := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9]+).*,\1,p") +LLVM_VERSION_FULL := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:([0-9.]+)(~|-)(.*),\1,p") +LLVM_VERSION_MINOR := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:[0-9]+\.([0-9]+)\.[0-9]+.*,\1,p") +LLVM_VERSION_SNAPSHOT := $(shell echo $(PKG_VERSION) | sed -rne "s,^1:(.*),\1,p") +ifeq ($(LLVM_VERSION),$(LLVM_VERSION_FULL)) + LLVM_VERSION_FULL := $(LLVM_VERSION).0.0 + LLVM_VERSION_MINOR := 0 +endif +LLVM_VERSION_NEXT := $(shell echo $(LLVM_VERSION_FULL) | awk -F. '{ OFS="."; $$NF+=1; print}') +LLVM_DIR = usr/lib/llvm-$(LLVM_VERSION) +LLVM_LIBDIR = usr/lib/llvm-$(LLVM_VERSION)/lib + +# dpkg-buildflags support +# disable fixfilepath in favor of the llvm-project supplied flavor, disable lto +# remove +time64,+lfs once the time64_t transition starts +RUNTIMES = compiler-rt;libcxx;libcxxabi +ifeq ($(DEB_HOST_ARCH_CPU),i386) + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto +else + ifeq ($(DEB_HOST_ARCH_BITS),32) + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto abi=+time64,+lfs + else + ifeq ($(DEB_HOST_ARCH),mips64el) + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto hardening=-stackprotector,-stackprotectorstrong + else + export DEB_BUILD_MAINT_OPTIONS = reproducible=-fixfilepath,-fixdebugpath optimize=-lto + endif + endif +endif + +SOURCE_NAME := $(shell dpkg-parsechangelog -S Source) +ifneq (,$(findstring snapshot,$(SOURCE_NAME))) + BRANCH_NAME=snapshot +else + BRANCH_NAME=$(LLVM_VERSION) +endif + +VENDOR=$(shell lsb_release -is) +DISTRO=$(shell lsb_release -sc) +DERIVATIVE := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \ + elif dpkg-vendor --derives-from Debian; then echo Debian; \ + else echo Unknown; fi) + +SONAME_EXT := 1 +SONAME_OPENMP := 5 +# Manage the case when the version is 3.5~svn213052-1~exp1 or 3.4.2-1 +DEBIAN_REVISION := $(shell dpkg-parsechangelog | sed -rne "s,^Version: 1:([0-9.]+)(~|-)(.*),\3,p") +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + NCPUS := $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +else + NCPUS := $(shell nproc) +endif + +# Check if a package meets version requirement +# Usage: $(call check_pkg_version,package-name,operator,version) +# Operators: ge (>=), gt (>), le (<=), lt (<), eq (=) +# Returns: yes or no +define check_pkg_version +$(shell v=$$(dpkg-query -W -f '$${Version}' $(1) 2>/dev/null); \ + if [ -z "$$v" ]; then \ + echo no; \ + elif dpkg --compare-versions "$$v" $(2) $(3); then \ + echo yes; \ + else \ + echo no; \ + fi) +endef + +# Remove RPATH/RUNPATH from files matching a pattern +# Usage: $(call remove_rpath,file-pattern) +# Example: $(call remove_rpath,$(DEB_INST)/$(LLVM_DIR)/bin/*) +define remove_rpath + for i in \ + `chrpath -k $(1) 2>/dev/null | awk -F: '/R(UN)?PATH=/ {print $$$$1}'`; \ + do \ + [ -h $$$$i ] && continue; \ + chrpath -d $$$$i; \ + echo "removed RPATH/RUNPATH: $$$$i"; \ + done +endef + +# set this macro to anything else than "yes" to avoid generating alternative +# build dependencies on hello in the control file. +BD_ALT_HELLO = yes +ifeq ($(DERIVATIVE),Ubuntu) +BD_ALT_HELLO = no +endif + +ifeq ($(BD_ALT_HELLO),yes) + BD_ALT_HELLO_SUBST = 's/@BEGIN_OPTIONAL_HELLO@//g;s/@END_OPTIONAL_HELLO@//g' +else + BD_ALT_HELLO_SUBST = 's/@BEGIN_OPTIONAL_HELLO@.*@END_OPTIONAL_HELLO@//' +endif + +SKIP_COMMON_PACKAGES = +# for distro builds, skip these if a newer LLVM is in the distro series +ifeq ($(DERIVATIVE),Ubuntu) + # list series which should not have the common packages + ifneq (,$(filter $(DISTRO), series1 series2)) + SKIP_COMMON_PACKAGES = yes + endif +else ifeq ($(DERIVATIVE),Debian) + ifneq (,$(filter $(DISTRO), series1 series2)) + SKIP_COMMON_PACKAGES = yes + endif +endif +# set these two when building without the common packages +#SKIP_COMMON_PACKAGES = yes +#NEW_LLVM_VERSION = 22 + +ifeq ($(SKIP_COMMON_PACKAGES),yes) + COMMON_PKGS := $(shell cat debian/packages.common) + COMMON_BUILD_DEPS := $(foreach p,$(COMMON_PKGS),$(p)$(COMMA)) + # make sure the common packages exist for the new LLVM version + NEXT_LIBLLVM_PKG = libllvm$(NEW_LLVM_VERSION), +endif + +# some object files are removed for space constraints during the build +# uncomment to keep everything during a build +# a SMALL_DISK build is 15GB + <2GB in the parent directory, the full build +# peaks out at 35GB + <2GB for the parent directory. +#SMALL_DISK = yes + +# use sloppy builds to collect to +# - ignore additional build artifacts +# - ignore missing symbols in libraries +# look at these in the build logs and fix them in follow-up uploads +SLOPPY_BUILD = +ifeq (,$(filter $(DEB_HOST_ARCH), amd64XXX)) + SLOPPY_BUILD = yes + ignore_if_fail = - +endif + +# this contains all packages to be built. Note that for at least the clean target, +# this always includes the binary-indep packages. +packages := $(shell dh_listpackages) + +# no 32bit support +FLANG_ARCHS := amd64 arm64 ppc64el ppc64 sparc64 riscv64 loong64 + +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) +# this doesn't work, Ubuntu passes these in both positive and negative form, filter later +# export DEB_BUILD_MAINT_OPTIONS += hardening=-stackprotector,-stackclash,-branch +endif + +# flang has some memory hogs, of up to 6.2gb per process. Limit the parallel jobs +# based on the available memory +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) + MEM_PER_CPU=6000 +else + MEM_PER_CPU=2100 +endif + +NJOBS := $(shell mt=`awk '/^(MemAvail|SwapFree)/ { mt += $$2 } END {print mt}' /proc/meminfo`; \ + awk -vn=$(NCPUS) -vmt=$$mt -vm=$(MEM_PER_CPU) \ + 'END { mt/=1024; n2 = int(mt/m); print n==1 || n2<=1 ? 1 : n2<=n ? n2 : n }' < /dev/null) + +TIME_COMMAND = $(CURDIR)/debian/usage-wrapper.py $(SUMMARY_ONLY) -j $(NJOBS) --base-memory -m 4.0 -o usage-$(notdir $@)-$(DEB_HOST_ARCH).svg +TIME_BIN := $(if $(wildcard /usr/bin/time),/usr/bin/time,/bin/time) +TIME_COMMAND = $(TIME_BIN) -v +USAGE_BUILD_DEP = $(EMPTY) time, +ifneq (,$(findstring usage-wrapper, $(TIME_COMMAND))) + ifeq ($(DERIVATIVE),Ubuntu) + USAGE_BUILD_DEP = $(EMPTY) python3:any, python3-psutil, python3-matplotlib [!i386], + ifeq ($(DEB_HOST_ARCH),i386) + SUMMARY_ONLY = --summary-only + endif + else + USAGE_BUILD_DEP = $(EMPTY) python3:any, python3-psutil [!hurd-i386 !hurd-amd64], python3-matplotlib [!m68k !sh4 !x32 !hurd-i386 !hurd-amd64], + ifneq (,$(filter $(DEB_HOST_ARCH), hurd-i386 hurd-amd64)) + TIME_COMMAND = $(TIME_BIN) -v + endif + ifneq (,$(filter $(DEB_HOST_ARCH), m68k sh4 x32 hurd-i386 hurd-amd64)) + SUMMARY_ONLY = --summary-only + endif + endif +endif + +DH_VERSION := $(shell dpkg -s debhelper | grep '^Version' | awk '{print $$2}') + +include /usr/share/dpkg/architecture.mk + +# list of archs to build for in Debian. This also includes architectures which +# have support in LLVM, but currently ftbfs, e.g. armel, m68k +# Excluded are alpha, hppa, sh4 to avoid build attempts +ANY_ARCHS := amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 loong64 m68k \ + mipsel mips64el powerpc ppc64 ppc64el riscv64 s390x sparc sparc64 x32 + +MULTILIB_ARCHS := amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32 +ifeq ($(DERIVATIVE),Ubuntu) + ifeq (,$(filter $(DISTRO), bionic focal jammy noble)) + MULTILIB_ARCHS := $(filter-out s390x, $(MULTILIB_ARCHS)) + endif +endif + +CONFIGURE_EXTRA = + +# these are handled on a per stage / build basis +ifeq ($(VENDOR)-$(DEB_HOST_ARCH),Ubuntu-ppc64el) + export DEB_CFLAGS_MAINT_STRIP = -g -O3 + export DEB_CXXFLAGS_MAINT_STRIP = -g -O3 +else + export DEB_CFLAGS_MAINT_STRIP = -g -O2 + export DEB_CXXFLAGS_MAINT_STRIP = -g -O2 +endif +include /usr/share/dpkg/buildflags.mk + +# Remove -Bsymbolic-functions for causing: +# https://github.com/llvm/llvm-project/issues/59432#issuecomment-2500694332 +ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) +ifneq (,$(LDFLAGS)) + LDFLAGS := $(filter-out %-Bsymbolic-functions,$(LDFLAGS)) +endif +endif + +# Filter out flags that Flang doesn't understand (hardening and warning flags) +define filter_flang_flags +$(filter-out -fstack-% -fno-stack-protector -fno-stack-clash-protection -fcf-protection% -mbranch-protection% -mno-omit-% -mbackchain -W% -Werror%,$(1)) +endef + +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) +# setting DEB_BUILD_MAINT_OPTIONS doesn't work well, it would apply to all flags, +# Ubuntu also passes either the negative or the positive options +# export DEB_BUILD_MAINT_OPTIONS += hardening=-stackprotector,-stackclash,-branch + FFLAGS := $(filter-out $(FLANG_UNKNOWN_OPTS), $(FFLAGS)) +endif + +# We use a stage2 build. It means that a first clang is built using gcc, +# a second clang is built with the first +# And the various components are built using the second clang. +# See https://llvm.org/docs/AdvancedBuilds.html + +# collect additional flags for all stages all builds +CFLAGS_EXTRA = -Wno-unused-command-line-argument +CXXFLAGS_EXTRA = -Wno-unused-command-line-argument +LDFLAGS_EXTRA = -Wl,--build-id + +# This will enable linking statically with large binaries like chromium. +# For more details, see: +# https://github.com/loongson/la-abi-specs/blob/release/laelf.adoc#code_models +ifeq (loong64,$(DEB_HOST_ARCH)) + CFLAGS_EXTRA += -mcmodel=medium + CXXFLAGS_EXTRA += -mcmodel=medium +endif + +# collect all flags for stage 1 toolchain build only +STAGE_1_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS) +STAGE_1_CXXFLAGS = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(CPPFLAGS) +STAGE_1_LDFLAGS = $(LDFLAGS) $(LDFLAGS_EXTRA) +# If we build with libc++, we might want to set different arguments for +# stage 1 & runtimes +RUNTIMES_CFLAGS = $(STAGE_1_CFLAGS) +RUNTIMES_CXXFLAGS = $(STAGE_1_CXXFLAGS) +RUNTIMES_LDFLAGS = $(STAGE_1_LDFLAGS) +RUNTIMES_FORTRAN_FLAGS = $(call filter_flang_flags,$(STAGE_1_CFLAGS)) + +# collect all flags for stage 2 toolchain and stand-alone builds +STAGE_2_CFLAGS = $(CFLAGS) $(CFLAGS_EXTRA) $(CPPFLAGS) +STAGE_2_CXXFLAGS = $(CXXFLAGS) $(CXXFLAGS_EXTRA) $(CPPFLAGS) +STAGE_2_LDFLAGS = $(LDFLAGS) $(LDFLAGS_EXTRA) +STAGE_2_FORTRAN_FLAGS = $(call filter_flang_flags,$(STAGE_2_CFLAGS)) +STAGE_2_FORTRAN_OPT_FLAGS = $(call filter_flang_flags,$(opt_flags)) + +# collect additional cmake options for toolchain build configuration +STAGE_1_CMAKE_EXTRA = +STAGE_2_CMAKE_EXTRA = +STAGE_ALL_CMAKE_EXTRA = +# toolchain config-only var combining all stage 1 cmake options +CMAKE_EXTRA = $(STAGE_1_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA) +# toolchain config-only var prepending BOOTSTRAP_ to all stage 2 cmake options +BOOTSTRAP_CMAKE_EXTRA = $(foreach extra,$(STAGE_2_CMAKE_EXTRA) $(STAGE_ALL_CMAKE_EXTRA), $(subst -D,-DBOOTSTRAP_,$(extra))) + +BASE_PATH := $(CURDIR) +STAGE_1_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD)/bin +STAGE_1_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD)/lib +STAGE_2_BIN_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/bin +STAGE_2_LIB_DIR := $(BASE_PATH)/$(TARGET_BUILD_STAGE2)/lib + +# toggleable defaults +COMPILER_RT_USE_BUILTINS_LIBRARY := ON +LIBCXX_USE_COMPILER_RT := ON + +# We want to set the clang extra version ONLY in stage 2 +# because we want the clang stage 1 to be as reproducible as possible +# when building with sccache (because this tool do a hash using the +# compiler binary and other things) +STAGE_2_CMAKE_EXTRA += -DCLANG_REPOSITORY_STRING=$(DEBIAN_REVISION) + +ifneq (,$(filter $(DEB_HOST_ARCH),sparc sparc64)) +STAGE_1_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),i386 hurd-i386 armel mipsel mips64el powerpc)) +# For some reason, in the stage2 build, when clang is used to compile +# itself. The atomic detection is failing on armel. Forcing the inclusion +# everywhere and in all stages +LDFLAGS_EXTRA += -latomic +endif + +Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=OFF +# no ocaml support in main for Ubuntu +ifneq ($(DERIVATIVE),Ubuntu) + ifeq ($(call check_pkg_version,libz3-dev,gt,4.7.0),yes) + ifeq (,$(filter $(DEB_HOST_ARCH),sh4)) + Z3_FLAG = -DLLVM_ENABLE_Z3_SOLVER=ON + endif + endif +endif +STAGE_2_CMAKE_EXTRA += $(Z3_FLAG) +ifneq (,$(findstring =ON, $(Z3_FLAG))) + Z3_DEV_DEP = libz3-dev [!sh4], +endif + +# Change the default CPU for s390x +ZARCH=z196 +ifeq ($(DERIVATIVE),Ubuntu) + ifneq (,$(filter $(DISTRO), xenial bionic focal jammy noble plucky questing)) + ZARCH=z13 + else + ZARCH=z15 + endif +endif +STAGE_2_CMAKE_EXTRA += -DCLANG_SYSTEMZ_DEFAULT_ARCH=$(ZARCH) + +# FIXME: where does this architecture list come from? +CLANG_GRPC_ARCHS =amd64 arm64 armel armhf i386 mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x + +# clangd remote index support requires GRPC & protobuf. +# Enable if minimum tested versions are available. +CLANGD_GRPC_INSTALLED=no +ifeq (,$(filter stage1, $(DEB_BUILD_PROFILES))) +ifeq ($(call check_pkg_version,libgrpc++-dev,gt,1.30.0),yes) +ifeq ($(call check_pkg_version,protobuf-compiler-grpc,gt,1.30.0),yes) +ifeq ($(call check_pkg_version,libprotobuf-dev,gt,3.12.0),yes) +ifeq ($(call check_pkg_version,protobuf-compiler,gt,3.12.0),yes) +CLANGD_GRPC_INSTALLED=yes +STAGE_2_CMAKE_EXTRA += -DCLANGD_ENABLE_REMOTE=ON +endif +endif +endif +endif +endif + +export CC ?= gcc-$(GCC_VERSION) +export CXX ?= g++-$(GCC_VERSION) + +ifneq (,$(findstring $(DEB_HOST_ARCH),armel)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabi +# align arch profile with debian baseline +# https://wiki.debian.org/ArmEabiPort + CFLAGS_EXTRA += -march=armv5t + CXXFLAGS_EXTRA += -march=armv5t +# disable compiler-rt builtins (not supported for baseline armel arch: armv5t) +# See http://lists.llvm.org/pipermail/llvm-dev/2016-May/099761.html + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + COMPILER_RT_USE_BUILTINS_LIBRARY := OFF + LIBCXX_USE_COMPILER_RT := OFF +# disable scudo standalone (not supported for baseline armel arch: armv5t) + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_SCUDO_STANDALONE=OFF +endif + +ifneq (,$(findstring $(DEB_HOST_ARCH),armhf)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=arm-linux-gnueabihf +# align arch profile with debian baseline +# https://wiki.debian.org/ArmHardFloatPort#Minimum_CPU_.26_FPU + CFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16 + CXXFLAGS_EXTRA += -march=armv7-a -mfpu=vfpv3-d16 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),i386)) +# Sometimes, i386 needs help with the triple + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-linux-gnu + CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=i386-linux-gnu +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),mips64el)) +# avoid an issue with search path on mips64el +# https://bugs.llvm.org/show_bug.cgi?id=41204 + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=mips64el-linux-gnuabi64 + CFLAGS_EXTRA += -mxgot + CXXFLAGS_EXTRA += -mxgot + LDFLAGS_EXTRA += -mxgot +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),ppc64el)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=powerpc64le-linux-gnu +endif +ifeq (,$(filter $(DISTRO), stretch buster bullseye bookworm trixie xenial bionic focal jammy noble oracular plucky)) + # apparently, LLVM cannot have support for both ppc64 and ppc64el + ifeq (,$(filter $(DEB_HOST_ARCH),powerpc ppc64)) + STAGE_ALL_CMAKE_EXTRA += -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON + endif +endif + +# debug symbols OOM in Ubuntu Ubuntu and slows down build process. +ifneq (,$(filter $(DEB_HOST_ARCH),riscv64)) + opt_flags = -O2 -DNDEBUG -g0 +else + opt_flags = -O2 -DNDEBUG -g1 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),sparc)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),sparc64)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=sparc64-linux-gnu + STAGE_ALL_CMAKE_EXTRA += -DLLVM_PARALLEL_LINK_JOBS=4 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),s390x)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=s390x-linux-gnu +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),mips64el)) + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + COMPILER_RT_USE_BUILTINS_LIBRARY := OFF + LIBCXX_USE_COMPILER_RT := OFF +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),x32)) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_HOST_TRIPLE=x86_64-linux-gnux32 + STAGE_ALL_CMAKE_EXTRA += -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-linux-gnux32 + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_BUILTINS=OFF + COMPILER_RT_USE_BUILTINS_LIBRARY := OFF + LIBCXX_USE_COMPILER_RT := OFF +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),hurd-i386)) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),hurd-amd64)) + STAGE_ALL_CMAKE_EXTRA += -DCOMPILER_RT_BUILD_ORC=OFF +endif + +ifeq ($(call check_pkg_version,g++-$(GCC_VERSION),ge,4.8-20121128-1~),yes) + control_vars = '-Vdep:devlibs=libstdc++-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \ + '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev' +else ifeq ($(call check_pkg_version,g++-$(GCC_VERSION),ge,4.7.2-10~),yes) + control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev, libgcc-$(GCC_VERSION)-dev' \ + '-Vdep:devlibs-objc=libobjc-$(GCC_VERSION)-dev' +else + control_vars = '-Vdep:devlibs=libstdc++6-$(GCC_VERSION)-dev' +endif + +LLVM_SPIRV_ARCHS = amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x +ifneq (,$(filter stage1, $(DEB_BUILD_PROFILES))) + LLVM_SPIRV_INSTALLED = no +else +LLVM_SPIRV_VERSION := $(LLVM_VERSION) +LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null) +ifndef LLVM_SPIRV + LLVM_SPIRV_VERSION := $(shell expr $(LLVM_VERSION) - 1) + LLVM_SPIRV := $(shell bash -c "command -v llvm-spirv-$(LLVM_SPIRV_VERSION)" 2>/dev/null) +endif + +# Disable spirv support for most of the distro versions +# It needs llvm-spirv-17 and it is rarely available +# Be prescritive +SPIRV_DISABLE_DISTRO := bionic buster lunar jammy focal bullseye bookworm +ifndef LLVM_SPIRV + LLVM_SPIRV_INSTALLED = no +else + ifeq (,$(filter-out $(SPIRV_DISABLE_DISTRO), $(DISTRO))) +# Too old llvm-spirv version are failing. See #52200 + LLVM_SPIRV_INSTALLED = no + else + LLVM_SPIRV_INSTALLED = yes + endif +endif +endif + +LIBCLC_TARGETS_TO_BUILD=amdgcn--;amdgcn--amdhsa;amdgcn-mesa-mesa3d;r600--;nvptx--;nvptx64--;nvptx--nvidiacl;nvptx64--nvidiacl +LIBCLC_LLVM_SPIRV = +ifeq ($(LLVM_SPIRV_INSTALLED),yes) + LIBCLC_TARGETS_TO_BUILD := $(LIBCLC_TARGETS_TO_BUILD);spirv-mesa3d-;spirv64-mesa3d- + LIBCLC_LLVM_SPIRV = -DLLVM_SPIRV=$(LLVM_SPIRV) +endif + +# See compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake / HWASAN_SUPPORTED_ARCH +HWASAN_ARCHS = amd64 arm64 i386 riscv64 x32 + +LLD_ARCHS := amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x sparc m68k ppc64 sparc64 x32 riscv64 loong64 +# some lld archs are unusable for the bootstrap +LLD_BUILD_ARCHS := $(filter-out m68k mipsel mips64el ppc64 sparc sparc64 x32, $(LLD_ARCHS)) +LLD_INSTALLED := $(shell dpkg-query -W -f='$${Status}\n' lld >/dev/null 2>&1 ; echo yes) + +# don't use gold anymore, but the BFD linker instead on these archs +BINUTILS_ARCHS := alpha m68k mipsel mips64el powerpc ppc64 sparc sparc64 x32 hurd-i386 hurd-amd64 + +# build LLVMgold plugin on these archs, no b-d on binutils-gold needed +BINUTILS_GOLD_ARCHS := amd64 arm64 armel armhf i386 powerpc ppc64 ppc64el s390x sparc64 x32 hurd-amd64 hurd-i386 + +ifneq (,$(filter $(DEB_HOST_ARCH),$(LLD_BUILD_ARCHS))) + ifeq ($(LLD_INSTALLED),yes) + # we have lld on the system + STAGE_ALL_CMAKE_EXTRA += -DLLVM_USE_LINKER=lld + USE_LLD=yes + endif +endif + +ifneq ($(USE_LLD),yes) + ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_ARCHS))) + # no extra options needed + else + $(error unknown build linker for architecture $(DEB_HOST_ARCH)) + endif +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),$(BINUTILS_GOLD_ARCHS))) + # build LLVMgold plugin, see https://github.com/llvm/llvm-project/issues/64216 + STAGE_ALL_CMAKE_EXTRA += -DLLVM_BINUTILS_INCDIR=/usr/include/ +endif + +BOLT_ARCHS = amd64 arm64 +ifneq (,$(filter $(DEB_HOST_ARCH),$(BOLT_ARCHS))) + PROJECTS += ;bolt +endif + +# Architectures where libc is enabled +LLVM_LIBC_ARCHS := amd64 arm64 armhf + +ifneq (,$(filter libllvmlibc-$(LLVM_VERSION)-dev, $(packages))) + LLVM_LIBC_ENABLE=yes + LLVM_LIBC_DISABLE_DISTRO := bionic + ifeq (,$(filter $(DISTRO), $(LLVM_LIBC_DISABLE_DISTRO))) + # Enable libc only for architectures listed in LIBC_ARCHS + ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_LIBC_ARCHS))) + RUNTIMES += ;libc + # also disable llvm-gpu-loader + # for causing https://github.com/llvm/llvm-project/issues/132890 + # and because libc isn't built on all platform but, as it is in the llvm package + # we expect it + STAGE_ALL_CMAKE_EXTRA += -DLLVM_LIBC_GPU_BUILD=ON -DLLVM_TOOL_LLVM_GPU_LOADER_BUILD=OFF + else + LLVM_LIBC_ENABLE=no + endif + else + LLVM_LIBC_ENABLE=no + endif +endif + +ifneq ($(LLVM_LIBC_ENABLE),no) + $(info LLVM libc disabled for $(DISTRO)) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(FLANG_ARCHS))) + PROJECTS += ;flang + RUNTIMES += ;flang-rt +endif + +CODECOVERAGE=no +ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) +# enable the code coverage + CODECOVERAGE=yes +# for -fvisibility-inlines-hidden see http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130729/183016.html + CXXFLAGS_EXTRA += -fprofile-arcs -ftest-coverage + LDFLAGS_EXTRA += -coverage -lgcov + RUN_TEST=yes + # OpenMP doesn't respect LDFLAGS + STAGE_2_CMAKE_EXTRA+= -DLIBOMP_LDFLAGS="-coverage -lgcov" # don't pass LDFLAGS_EXTRA because it expects gcc arg +endif + +# Enable polly (or not) +POLLY_ARCHS = $(ANY_ARCHS) +POLLY_ENABLE=yes +ifneq (,$(filter $(DEB_HOST_ARCH), $(POLLY_ARCHS))) + PROJECTS+=;polly +endif + +# Enable libunwind (or not) +LIBUNWIND_ARCHS := amd64 arm64 armhf i386 loong64 ppc64 ppc64el riscv64 +LIBUNWIND_ENABLE=yes +ifeq (,$(filter $(DEB_HOST_ARCH), $(LIBUNWIND_ARCHS))) + LIBUNWIND_ENABLE=no +# do not use compiler-rt builtins for libcxx (libcxxabi) when libunwind is +# disabled since the gnu implementation in libgcc_s will then be required + LIBCXX_USE_COMPILER_RT := OFF +# See https://github.com/llvm/llvm-project/issues/77846 +else + RUNTIMES += ;libunwind +endif +ifeq ($(SKIP_COMMON_PACKAGES),yes) + COMMON_BUILD_DEPS = $(subst llvm-libunwind1,llvm-libunwind1 [$(LIBUNWIND_ARCHS)],$(COMMON_BUILD_DEPS)) +endif + +# Enable openmp (or not) +OMP_ARCHS = amd64 arm64 armhf i386 loong64 mips64el ppc64 ppc64el riscv64 hurd-amd64 + +# FIXME: what exactly enables ompd? e.g. not enabled on armhf, mips64el, hurd-any +OMPD_ARCHS = amd64 arm64 loong64 ppc64 ppc64el riscv64 + +OPENMP_ENABLE=yes +ifeq (,$(filter $(DEB_HOST_ARCH), $(OMP_ARCHS))) + OPENMP_ENABLE=no +else + RUNTIMES += ;openmp + STAGE_ALL_CMAKE_EXTRA += -DLIBOMP_LIBFLAGS="-lm" +endif +ifeq ($(SKIP_COMMON_PACKAGES),yes) + COMMON_BUILD_DEPS = $(subst libomp5,libomp5 [$(OMP_ARCHS)],$(COMMON_BUILD_DEPS)) +endif + +# Enable offloading (or not) +OFFLOAD_ARCHS = amd64 arm64 loong64 ppc64el riscv64 +OFFLOAD_ENABLE=yes +ifeq (,$(filter $(DEB_HOST_ARCH), $(OFFLOAD_ARCHS))) + OFFLOAD_ENABLE=no +else + RUNTIMES += ;offload +endif + +# macros for various compiler_rt/runtime library features +# according to compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake +RT_ORC_ARCHS = amd64 arm64 armhf armel i386 loong64 ppc64 ppc64el x32 + +# Do not install objects +STAGE_ALL_CMAKE_EXTRA += -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF + + +RUN_TEST=yes +ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + RUN_TEST=no +endif +ifeq ($(DERIVATIVE),Ubuntu) +ifeq (riscv64,$(DEB_HOST_ARCH)) + RUN_TEST=no +endif +endif + +# llvm tests timeout, disable it on mipsel and x32 +ifneq (,$(filter $(DEB_HOST_ARCH), mipsel mips64el x32)) + RUN_TEST=no +endif + +SCAN_BUILD=no +ifneq (,$(filter scan-build,$(DEB_BUILD_OPTIONS))) +# enable the build using scan-build +# The package are installed through the variable declarations: +# OTHERMIRROR="deb http://llvm.org/apt/unstable/ llvm-toolchain main" +# EXTRAPACKAGES="clang-X" + SCAN_BUILD=yes + + PRE_PROCESS=scan-build-$(LLVM_VERSION) --show-description -analyzer-config stable-report-filename=true + PRE_PROCESS_CONF=scan-build-$(LLVM_VERSION) + TIME_COMMAND= +# no need to run tests in this case + RUN_TEST=no + CONFIGURE_EXTRA += --enable-assertions + STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON +endif + +ifneq (,$(filter coverity,$(DEB_BUILD_OPTIONS))) +# enable the build using coverity +# pbuilder contains BINDMOUNTS="/opt/cov-analysis/" +# And we have some pbuilder hooks to configure and pack the result +# Where the binaries are installed on the jenkins instance + PRE_PROCESS=PATH=$$PATH:/opt/cov-analysis/bin/ cov-build --dir cov-int + TIME_COMMAND= +# We don't want to check the temporary files produced by the configure + PRE_PROCESS_CONF= + COVERITY_ENABLE=1 + CONFIGURE_EXTRA += --enable-assertions + STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ASSERTIONS=ON +# no need to run tests in this case + RUN_TEST=no +else + COVERITY_ENABLE=0 +endif + +# hurd has threading issues +LLDB_ARCHS := amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 +ifneq (,$(filter $(DEB_HOST_ARCH),$(LLDB_ARCHS))) + STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_LUA=OFF + PROJECTS+=;lldb +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64)) + INTEL_PT_DISABLE_DISTRO := bionic +# Disable intel-pt on old distro, fails on bionic (too old) + ifeq (,$(filter $(DISTRO), $(INTEL_PT_DISABLE_DISTRO))) + STAGE_ALL_CMAKE_EXTRA += -DLLDB_BUILD_INTEL_PT=ON -DLIBIPT_INCLUDE_PATH=/usr/include -DLIBIPT_LIBRARY_PATH=/usr/lib/$(DEB_HOST_MULTIARCH) + endif +endif + +LLDB_PYTHON_DISABLE_DISTRO := bionic buster +LLDB_PYTHON_ENABLE=yes +# Disable zstd on old distro, fails on lld +ifeq (,$(filter-out $(LLDB_PYTHON_DISABLE_DISTRO), $(DISTRO))) +# Don't enable lld python for old distros + STAGE_ALL_CMAKE_EXTRA += -DLLDB_ENABLE_PYTHON=OFF + LLDB_PYTHON_ENABLE=no + $(info LLBD Python disabled for $(DISTRO)) +endif + +LIBCXX_WASM_ENABLE=yes +LIBCXX_WASM_DISABLE_DISTRO := bionic buster focal bullseye jammy +# Either wasi-libc doesn't exist / too old +# or we have this bug +# https://sourceware.org/bugzilla/show_bug.cgi?id=27558 +ifeq (,$(filter-out $(LIBCXX_WASM_DISABLE_DISTRO), $(DISTRO))) + LIBCXX_WASM_ENABLE=no + $(info libcxx wasm disabled for $(DISTRO)) +endif + +DOC_GENERATION=yes +DOC_GENERATION_DISTRO := buster bullseye bionic focal +# LLVM upstream moved to myst_parser but it isn't available on old distro +ifeq (,$(filter-out $(DOC_GENERATION_DISTRO), $(DISTRO))) + DOC_GENERATION=no + $(info Doc generation disabled for $(DISTRO)) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),powerpc)) + LIBCXX_WASM_ENABLE=no +endif + +# FIXME: we have USE_LLD ... LLD_ENABLE usage is commented out anyway +LLD_ENABLE=yes + +ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) +# only for linux + STAGE_2_CMAKE_EXTRA += -DLLVM_USE_PERF=ON -DLLVM_ENABLE_LIBPFM=ON +endif + +LLVM_ENABLE_ZSTD_DISABLE_DISTRO := bionic buster +# Disable zstd on old distro, fails on lld +ifeq (,$(filter-out $(LLVM_ENABLE_ZSTD_DISABLE_DISTRO), $(DISTRO))) + STAGE_ALL_CMAKE_EXTRA += -DLLVM_ENABLE_ZSTD=OFF +endif + +LTO_ENABLE=no +# Only enable it for archs supporting lld +ifeq ($(USE_LLD),yes) +# LTO requires a bunch of memory. Don't do it everywhere +LTO_DISABLE_ARCHS := i386 armhf s390x ppc64 x32 +ifeq (,$(filter-out $(LTO_DISABLE_ARCHS), $(DEB_HOST_ARCH))) + LTO_ENABLE=no +else +# Disable for now because of +# https://github.com/llvm/llvm-project/issues/58317#issuecomment-1276190743 +# LTO_ENABLE=yes +# STAGE_2_CMAKE_EXTRA += -DLLVM_ENABLE_LTO="On" +endif +endif + +ifneq ($(LTO_ENABLE),no) + $(info LTO disabled for $(DEB_HOST_ARCH)) +endif + +# https://bugs.launchpad.net/bugs/2016471 +ifeq (,$(filter-out $(LTO_DISABLE_ARCHS), $(DEB_HOST_ARCH))) +LLD_SUPPORTS_NO_SYMBOLIC := $(shell ld.lld --help | grep -q -w '-Bno-symbolic' && echo "yes" || echo "no") +ifeq ($(LLD_SUPPORTS_NO_SYMBOLIC),yes) + STAGE_2_CMAKE_EXTRA += -DLIBOMP_LDFLAGS=-Wl,-Bno-symbolic +endif +endif + +DH_OPTIONS = python3 +OCAML_ENABLE = no +OCAML_ARCHS = amd64 arm64 ppc64el riscv64 s390x +OCAML_RELEASES = stretch buster bullseye bookworm trixie forky \ + precise trusty xenial bionic focal jammy noble plucky questing resolute +ifneq (,$(filter $(DISTRO), $(OCAML_RELEASES))) + ifneq (,$(filter $(DEB_HOST_ARCH),$(OCAML_ARCHS))) + # Enable OCAML for this arch. + OCAML_ENABLE = yes + OCAML_STDLIB_DIR ?= $(shell ocamlc -where) + DH_OPTIONS := $(DH_OPTIONS),ocaml + endif + OCAML_BUILD_DEPS = ocaml-base [$(OCAML_ARCHS)] | ocaml-nox [$(OCAML_ARCHS)] , \ + ocaml-findlib [$(OCAML_ARCHS)] , \ + libctypes-ocaml-dev [$(OCAML_ARCHS)] , \ + dh-ocaml [$(OCAML_ARCHS)] , + OCAML_IN_RELEASE = yes +endif + +LIBFUZZER_ENABLE=yes +LIBFUZZER_ARCHS = $(filter-out hurd-%, $(ANY_ARCHS)) +ifeq (,$(filter $(DEB_HOST_ARCH_OS),linux)) + LIBFUZZER_ENABLE=no + $(info Libfuzzer disabled for $(DEB_HOST_ARCH_OS)) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), mipsel)) + LIBOMP_ARCH = mips +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), mips64 mips64el)) + LIBOMP_ARCH = mips64 +endif + +# if cmake is installed in /tmp/cmake/ uses it +# Used to build llvm on old ubuntu (precise) on the llvm.org/apt/ ci +CMAKE_BIN=cmake +ifeq ($(shell test -e /tmp/cmake/bin/cmake && echo -n yes),yes) + CMAKE_BIN=/tmp/cmake/bin/cmake + export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:/tmp/cmake/bin/ +endif + +SCCACHE_ENABLE=no +SCCACHE_CMAKE = +# if sccache is installed in the chroot, use it +ifeq ($(shell test -e /opt/sccache/sccache && echo -n yes),yes) + ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64 s390x)) + STAGE_1_CMAKE_EXTRA += $(SCCACHE_CMAKE) + SCCACHE_ENABLE=yes + SCCACHE_PATH=/opt/sccache/ + SCCACHE_CMD=$(SCCACHE_PATH)/sccache + SCCACHE_CMAKE = -DCMAKE_C_COMPILER_LAUNCHER=$(SCCACHE_CMD) -DCMAKE_CXX_COMPILER_LAUNCHER=$(SCCACHE_CMD) + export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:/opt/sccache + endif +endif + +# enables cmake build targets like stage2-[target_name] +ENABLED_STAGE2_CMAKE_BUILD_TARGETS = check-all;check-llvm;check-clang;check-clang-tools;check-lld;check-libcxx;check-libcxxabi;check-mlir;check-libc;check-sanitizer;llvm-config;test-suite + +%: + dh $@ $(if $(DH_OPTIONS),--with $(DH_OPTIONS)) + +# For some reasons, some spaces are added, removing them +PROJECTS_LIST := $(shell echo "$(PROJECTS)"|sed -e "s| ||g") +RUNTIMES_LIST := $(shell echo "$(RUNTIMES)"|sed -e "s| ||g") + +stamps/preconfigure: + if ! grep -qs '/proc ' /proc/mounts; then \ + echo "/proc needs to be mounted"; \ + exit 1; \ + fi + + if test "$(DISTRO)" = "bookworm" -a "$(LLVM_SPIRV_INSTALLED)" = "no"; then \ + echo "llvm spriv isn't detected while it should probably for this distro"; \ + fi + + @echo "Memory:" + @if [ -e /proc/meminfo ]; then \ + cat /proc/meminfo | grep -E '(Mem|Swap)Free|Cached'; \ + else \ + echo " No memory info available"; \ + fi + @echo "Processors: $$(cat /proc/cpuinfo | grep --count '^processor')" + @echo "Used Processors: $(NJOBS) (out of $(NCPUS)), $(MEM_PER_CPU)kb/processor" + + @echo "Build profiles: $(DEB_BUILD_PROFILES)" + @echo "Packages to build: $(packages)" + + @echo "DEB_BUILD_OPTIONS=$(DEB_BUILD_OPTIONS)" + @echo "DEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)" + @echo "DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE)" + @echo "DEB_HOST_ARCH_BITS=$(DEB_HOST_ARCH_BITS)" + @echo "DEB_HOST_ARCH=$(DEB_HOST_ARCH)" + @echo "DEB_HOST_ARCH_OS=$(DEB_HOST_ARCH_OS)" + @echo "DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS)" + @echo "DISTRO=$(DISTRO)" + @echo "GCC_VERSION=$(GCC_VERSION)" + @echo "PROJECTS=$(PROJECTS_LIST)" + @echo "RUNTIMES=$(RUNTIMES_LIST)" + @echo "LLVM_VERSION=$(LLVM_VERSION)" + @echo "LLVM_VERSION_MINOR=$(LLVM_VERSION_MINOR)" + @echo "LLVM_VERSION_FULL=$(LLVM_VERSION_FULL)" + @echo "LLVM_VERSION_SNAPSHOT=$(LLVM_VERSION_SNAPSHOT)" + @echo "PATH=$(PATH)" + @echo "LD_LIBRARY_PATH=$$LD_LIBRARY_PATH" + @echo "RUNTIMES_CXXFLAGS=$(RUNTIMES_CXXFLAGS)" + @echo "STAGE_1_CXXFLAGS=$(STAGE_1_CXXFLAGS)" + @echo "STAGE_2_CFLAGS=$(STAGE_2_CFLAGS)" + @echo "LIBFUZZER_ENABLE=$(LIBFUZZER_ENABLE)" + @echo "LTO_ENABLE=$(LTO_ENABLE)" + @echo "COMPILER_RT_WASM_ENABLE=$(COMPILER_RT_WASM_ENABLE)" + @echo "LIBCXX_WASM_ENABLE=$(LIBCXX_WASM_ENABLE)" + @echo "SCCACHE_ENABLE=$(SCCACHE_ENABLE)" + @echo "LLVM_SPIRV=$(LLVM_SPIRV)" + @echo "LLVM_SPIRV_INSTALLED=$(LLVM_SPIRV_INSTALLED)" + @echo "DOC_GENERATION=$(DOC_GENERATION)" + + for f in debian/*.in debian/tests/*.in; do \ + f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ + echo "$$f => $$f2"; \ + sed -e 's|@DEB_HOST_MULTIARCH@|$(DEB_HOST_MULTIARCH)|g' \ + -e "s|@USAGE_BUILD_DEP@|$(USAGE_BUILD_DEP)|g" \ + -e "s|@Z3_DEV_DEP@|$(Z3_DEV_DEP)|g" \ + -e "s|@MULTILIB_ARCHS@|$(MULTILIB_ARCHS)|g" \ + -e "s|@LLDB_ARCHS@|$(LLDB_ARCHS)|g" \ + -e "s|@OCAML_ARCHS@|$(OCAML_ARCHS)|g" \ + -e "s#@OCAML_BUILD_DEPS@#$(OCAML_BUILD_DEPS)#g" \ + -e "s|@OMP_ARCHS@|$(OMP_ARCHS)|g" \ + -e "s|@OMPD_ARCHS@|$(OMPD_ARCHS)|g" \ + -e "s|@OFFLOAD_ARCHS@|$(OFFLOAD_ARCHS)|g" \ + -e "s|@FLANG_ARCHS@|$(FLANG_ARCHS)|g" \ + -e "s|@LLVM_LIBC_ARCHS@|$(LLVM_LIBC_ARCHS)|g" \ + -e "s|@BINUTILS_GOLD_ARCHS@|$(sort $(BINUTILS_GOLD_ARCHS))|g" \ + -e "s|@LLD_ARCHS@|$(sort $(LLD_ARCHS))|g" \ + -e "s|@LLD_BUILD_ARCHS@|$(sort $(LLD_BUILD_ARCHS))|g" \ + -e "s|@LLVM_SPIRV_ARCHS@|$(sort $(LLVM_SPIRV_ARCHS))|g" \ + -e "s|@POLLY_ARCHS@|$(sort $(POLLY_ARCHS))|g" \ + -e "s|@HWASAN_ARCHS@|$(sort $(HWASAN_ARCHS))|g" \ + -e "s|@LIBUNWIND_ARCHS@|$(sort $(LIBUNWIND_ARCHS))|g" \ + -e "s|@ANY_ARCHS@|$(sort $(ANY_ARCHS))|g" \ + -e "s|@LIBFUZZER_ARCHS@|$(sort $(LIBFUZZER_ARCHS))|g" \ + -e "s|@BOLT_ARCHS@|$(sort $(BOLT_ARCHS))|g" \ + -e "s|@CLANG_GRPC_ARCHS@|$(sort $(CLANG_GRPC_ARCHS))|g" \ + -e "s|@RT_ORC_ARCHS@|$(sort $(RT_ORC_ARCHS))|g" \ + -e "s|@BRANCH_NAME@|$(BRANCH_NAME)|g" \ + -e "s|@OCAML_STDLIB_DIR@|$(OCAML_STDLIB_DIR)|g" \ + -e "s|@LLVM_EPOCH@|$(LLVM_EPOCH)|g" \ + -e "s|@LLVM_VERSION_FULL@|$(LLVM_VERSION_FULL)|g" \ + -e "s|@LLVM_VERSION_MINOR@|$(LLVM_VERSION_MINOR)|g" \ + -e "s|@LLVM_VERSION_NEXT@|$(LLVM_VERSION_NEXT)|g" \ + -e "s|@LLVM_VERSION@|$(LLVM_VERSION)|g" \ + -e "s|@LLVM_DIR@|$(LLVM_DIR)|g" \ + -e "s|@LLVM_LIBDIR@|$(LLVM_LIBDIR)|g" \ + -e "s|@PYTHON3@|$(PYTHON3)|g" \ + -e "s|@PY_EXT_SUFFIX@|$(PY_EXT_SUFFIX)|g" \ + -e "s|@COMMON_BUILD_DEPS@|$(COMMON_BUILD_DEPS)|g" \ + -e "s|@NEXT_LIBLLVM_PKG@|$(NEXT_LIBLLVM_PKG)|g" \ + -e $(BD_ALT_HELLO_SUBST) \ + $$f > $$f2; \ + if grep -q -m 1 '^#! */.*bin/' $$f; then \ + if ! [ -x $$f ]; then \ + echo "error: $$f: perm r, but using dh-exec"; \ + exit 1; \ + fi; \ + else \ + if [ -x $$f ]; then \ + echo "error: $$f: perm x, but no dh-exec"; \ + exit 1; \ + fi; \ + fi; \ + [ -x $$f ] && chmod +x $$f2; \ + done + sed -i -e "s| *$$||" debian/control + + # workaround the breaks/replaces/conflicts introduced with the libc++ moves + # we update the version to make it work with apt.llvm.org + # Yeah, this is ugly but I don't know how to do better + if test "$(LLVM_VERSION)" = "21"; then \ + if echo $(LLVM_VERSION_SNAPSHOT)| grep -q "~++"; then \ + sed -i -e "s| (<< 1:21.1.4-6)|(<< 1:21.1.6~++20251111103412)|g" debian/control; \ + fi; \ + fi + + # llvm-spirv was found, so we can enable *.spv files. Debian + # buster and Ubuntu 18.04 don't have llvm-spirv to create the + # *.spv files. + if test "$(LLVM_SPIRV_INSTALLED)" = "yes"; then \ + sed -i -e "s|#spv\ ||g" debian/libclc-$(LLVM_VERSION).install; \ + fi + + # disable libc++-X.Y-dev-wasm32.install.in on old distro + if test "$(LIBCXX_WASM_ENABLE)" = "no"; then \ + echo "" > debian/libc++-$(LLVM_VERSION)-dev-wasm32.install; \ + echo "" > debian/libc++abi-$(LLVM_VERSION)-dev-wasm32.install; \ + else \ + if ! dpkg -l|grep -q wasi-libc; then \ + echo "Could not find wasi-libc on the system"; \ + echo "Please check that the package is available on the system"; \ + echo "it might be that the 'hello' package is installed by another constraint"; \ + echo "try to install pbuilder-hookdir/D22wasi-libc ?"; \ + exit 1; \ + fi; \ + fi + + if test "$(LLVM_LIBC_ENABLE)" = "no"; then \ + echo "" > debian/libllvmlibc-$(LLVM_VERSION)-dev.install; \ + fi + + # Conditionally enable install clangd grpc files + if test "$(CLANGD_GRPC_INSTALLED)" = "yes"; then \ + sed -i -e "s|#grpc\ ||g" debian/libclang-$(LLVM_VERSION)-dev.install; \ + fi + + python3 debian/remove-unbuilt.py \ + $(if $(filter yes, $(SKIP_COMMON_PACKAGES)),--skip-common-packages) \ + $(if $(filter yes, $(OCAML_IN_RELEASE)),,--skip-ocaml-packages) \ + debian/control debian/packages.common debian/packages.ocaml > debian/control.new + diff -u debian/control debian/control.new || true + mv debian/control.new debian/control + +ifeq (,$(filter llvm.noclang, $(DEB_BUILD_PROFILES))) + if ! dh_listpackages|grep -q clang-$(LLVM_VERSION); then \ + echo "Could not find clang-$(LLVM_VERSION) in the list of packages"; \ + echo "Refresh debian/control ?"; \ + echo "Package list:"; \ + dh_listpackages; \ + exit 1; \ + fi +else + if ! dh_listpackages|grep -q llvm-$(LLVM_VERSION); then \ + echo "Could not find llvm-$(LLVM_VERSION) in the list of packages"; \ + echo "Refresh debian/control ?"; \ + echo "Package list:"; \ + dh_listpackages; \ + exit 1; \ + fi +endif + @mkdir -p stamps + touch $@ + +# Override this two targets. They are trying to manage the .in conversion for me +override_dh_ocamlinit: +override_dh_ocamlclean: + +override_dh_auto_configure: stamps/configure +stamps/configure: stamps/preconfigure +ifeq (${SCCACHE_ENABLE},yes) + ls -al $(SCCACHE_PATH)* +endif + echo "Using gcc: " + $(CC) -v + $(CXX) -v + mkdir -p $(TARGET_BUILD) +# remove in case of artifact + rm -rf build + + if test "$(SCAN_BUILD)" = "yes"; then \ + patch -f -p1 < debian/patches/on-the-fly/use-scan-build-runtimes.diff||true; \ + fi + + # Configure coverity (we need the compilers) + work around perf issues + -(if test $(COVERITY_ENABLE) -eq 1; then \ + export PATH=$$PATH:/opt/cov-analysis/bin/; \ + cov-configure --compiler clang --comptype clang; \ + cov-configure --compiler gcc-$(GCC_VERSION) --comptype gcc; \ + cov-configure --compiler g++-$(GCC_VERSION) --comptype gcc; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11; \ + cov-configure -co /usr/bin/gcc-$(GCC_VERSION) --comptype gcc -- -fPIC; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc -- -fPIC -std=c++11 -fno-exceptions; \ + cov-configure -co /usr/bin/g++-$(GCC_VERSION) --comptype gcc --template \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)" \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)"; \ + cov-configure --compiler c++ --comptype g++ --template \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)" \ + --xml-option append_arg:"--ppp_translator" \ + --xml-option append_arg:"replace/llvm::AlignOf::Alignment/(llvm::AlignOf::Alignment)"; \ + fi) + +# Fails with No target "unwind_static" +# -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ +# -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY=OFF \ +# -DLIBCXXABI_STATICALLY_LINK_UNWINDER_IN_STATIC_LIBRARY=ON \ +#- to libc++ when libunwind is built +#- Matches what is done on brew: +#- https://bit.ly/3kDNpC9 +ifeq (${SCCACHE_ENABLE},yes) +# Just in case... + $(SCCACHE_CMD) --stop-server||true +ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64)) +# Start the sccache server with the right set of options to use GCP + SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_GCS_KEY_PATH=$(SCCACHE_PATH)/secret-gcp-storage.json SCCACHE_GCS_BUCKET=apt-llvm-org-sccache SCCACHE_GCS_RW_MODE=READ_WRITE $(SCCACHE_CMD) --start-server +else +# on s390x machine, use a local cache + SCCACHE_CACHE_SIZE=20G SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=$(SCCACHE_PATH)/sccache.log SCCACHE_DIR=/opt/sccache/cache/ SCCACHE_DIRECT=true $(SCCACHE_CMD) --start-server +endif +endif + echo "Running tests: $(RUN_TEST)" + echo "Using cmake: $(CMAKE_BIN)"; \ + LD_LIBRARY_PATH=$$LD_LIBRARY_PATH \ + $(PRE_PROCESS_CONF) $(CMAKE_BIN) -S llvm/ -B $(TARGET_BUILD) \ + -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/$(LLVM_DIR) \ + -DLLVM_VERSION_SUFFIX= \ + -DCMAKE_SUPPRESS_REGENERATION=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="$(STAGE_1_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(STAGE_1_CXXFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_1_LDFLAGS)" \ + -DPACKAGE_VENDOR=$(VENDOR) \ + -DENABLE_LINKER_BUILD_ID=ON \ + -DLLVM_TARGETS_TO_BUILD=Native \ + -DLLVM_ENABLE_PROJECTS="$(PROJECTS_LIST)" \ + -DLLVM_ENABLE_RUNTIMES="$(RUNTIMES_LIST)" \ + -DLLVM_ENABLE_PIC=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_BUILD_DOCS=OFF \ + -DLLVM_INCLUDE_GO_TESTS=OFF \ + -DLLVM_USE_RELATIVE_PATHS_IN_FILES=ON \ + -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \ + -DLLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \ + -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=ON \ + -DCLANG_PLUGIN_SUPPORT=OFF \ + -DCLANG_BUILD_EXAMPLES=OFF \ + -DCLANG_DEFAULT_LINKER=ld \ + -DCLANG_DEFAULT_RTLIB=libgcc \ + -DCOMPILER_RT_BUILD_XRAY=OFF \ + -DCOMPILER_RT_INCLUDE_TESTS=OFF \ + -DCOMPILER_RT_USE_LIBCXX=OFF \ + -DCOMPILER_RT_USE_BUILTINS_LIBRARY=$(COMPILER_RT_USE_BUILTINS_LIBRARY) \ + -DLIBUNWIND_INSTALL_LIBRARY=OFF \ + -DLIBCXXABI_ENABLE_EXCEPTIONS=ON \ + -DLIBCXXABI_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \ + -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \ + -DLIBCXXABI_INSTALL_LIBRARY=OFF \ + -DLIBCXX_ENABLE_EXCEPTIONS=ON \ + -DLIBCXX_USE_COMPILER_RT=$(LIBCXX_USE_COMPILER_RT) \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \ + -DLIBCXX_INSTALL_LIBRARY=OFF \ + -DLIBCXX_INSTALL_MODULES=ON \ + -DBOOTSTRAP_LIBCXX_INSTALL_MODULES=ON \ + -DOPENMP_ENABLE_LIBOMP_PROFILING=OFF \ + -DOPENMP_ENABLE_LIBOMPTARGET_PROFILING=OFF \ + -DLIBOMP_ENABLE_RTTI=OFF \ + -DLIBOMP_OMPT_SUPPORT=OFF \ + -DCLANG_FORCE_MATCHING_LIBCLANG_SOVERSION=ON \ + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ + $(CMAKE_EXTRA) \ + -DBUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ + -DRUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_1_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_1_CXXFLAGS);-DCMAKE_Fortran_FLAGS=$(RUNTIMES_FORTRAN_FLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_1_LDFLAGS);-DCMAKE_BUILD_TYPE=Release;-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ + -DCLANG_ENABLE_BOOTSTRAP=ON \ + -DCLANG_BOOTSTRAP_TARGETS="$(ENABLED_STAGE2_CMAKE_BUILD_TARGETS)" \ + -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_SUPPRESS_REGENERATION;ENABLE_LINKER_BUILD_ID;LLVM_ENABLE_PIC;LLVM_ENABLE_RTTI;LLVM_INCLUDE_GO_TESTS;LLVM_USE_RELATIVE_PATHS_IN_FILES;CLANG_DEFAULT_LINKER;CLANG_DEFAULT_CXX_STDLIB;CLANG_DEFAULT_RTLIB;COMPILER_RT_USE_LIBCXX;COMPILER_RT_USE_BUILTINS_LIBRARY;COMPILER_RT_DEFAULT_TARGET_ONLY;COMPILER_RT_INCLUDE_TESTS;LIBUNWIND_USE_COMPILER_RT;LIBCXXABI_ENABLE_EXCEPTIONS;LIBCXXABI_USE_COMPILER_RT;LIBCXXABI_USE_LLVM_UNWINDER;LIBCXX_USE_COMPILER_RT;LIBCXX_ENABLE_EXCEPTIONS;LIBCXX_ENABLE_STATIC_ABI_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY;LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY;LIBOMP_ENABLE_RTTI;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION;CMAKE_C_COMPILER_LAUNCHER;CMAKE_CXX_COMPILER_LAUNCHER;LLVM_LIBC_GPU_BUILD" \ + -DBOOTSTRAP_CMAKE_BUILD_TYPE=RelWithDebInfo \ + -DBOOTSTRAP_CMAKE_C_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ + -DBOOTSTRAP_CMAKE_CXX_FLAGS_RELWITHDEBINFO="$(opt_flags)" \ + -DBOOTSTRAP_CMAKE_C_FLAGS="$(STAGE_2_CFLAGS)" \ + -DBOOTSTRAP_CMAKE_CXX_FLAGS="$(STAGE_2_CXXFLAGS)" \ + -DBOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \ + -DBOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \ + -DBOOTSTRAP_CMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS)" \ + -DBOOTSTRAP_LLVM_ENABLE_FFI=ON \ + -DBOOTSTRAP_LLVM_ENABLE_DUMP=ON \ + -DBOOTSTRAP_LLVM_ENABLE_LIBPFM=ON \ + -DBOOTSTRAP_LLVM_ENABLE_SPHINX=ON \ + -DBOOTSTRAP_CLANG_DEFAULT_PIE_ON_LINUX=ON \ + -DBOOTSTRAP_SPHINX_WARNINGS_AS_ERRORS=OFF \ + -DBOOTSTRAP_LLVM_USE_RELATIVE_PATHS_IN_FILES=ON \ + -DBOOTSTRAP_LLVM_INSTALL_UTILS=ON \ + -DBOOTSTRAP_LLVM_VERSION_SUFFIX= \ + -DBOOTSTRAP_LLVM_POLLY_LINK_INTO_TOOLS=ON \ + -DBOOTSTRAP_LLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \ + -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="M68k;Xtensa" \ + -DBOOTSTRAP_LLVM_LINK_LLVM_DYLIB=ON \ + -DBOOTSTRAP_LLVM_ENABLE_CURL=$(if $(filter stage1, $(DEB_BUILD_PROFILES)),OFF,ON) \ + -DBOOTSTRAP_CLANG_LINK_CLANG_DYLIB=ON \ + -DBOOTSTRAP_LIBCLANG_LIBRARY_VERSION=$(SONAME_EXT) \ + -DBOOTSTRAP_LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON \ + -DBOOTSTRAP_PYTHON_EXECUTABLE=/usr/bin/python3 \ + $(BOOTSTRAP_CMAKE_EXTRA) \ + -DBOOTSTRAP_BUILTINS_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(STAGE_2_CXXFLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" \ + -DBOOTSTRAP_RUNTIMES_CMAKE_ARGS="-DCMAKE_C_FLAGS=$(STAGE_2_CFLAGS);-DCMAKE_CXX_FLAGS=$(RUNTIMES_CXXFLAGS);-DCMAKE_Fortran_FLAGS=$(STAGE_2_FORTRAN_FLAGS);-DCMAKE_EXE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_SHARED_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_MODULE_LINKER_FLAGS=$(STAGE_2_LDFLAGS) -L$(STAGE_1_LIB_DIR);-DCMAKE_BUILD_TYPE=RelWithDebInfo;-DCMAKE_C_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$(opt_flags);-DCMAKE_Fortran_FLAGS_RELWITHDEBINFO=$(STAGE_2_FORTRAN_OPT_FLAGS);-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF" || tail -100 build-llvm/CMakeFiles/CMakeConfigureLog.yaml + + FOUND_VERSION=`grep LLVM_VERSION_STRING build-llvm/include/llvm/Config/llvm-config.h|cut -d\" -f2`; \ + if ! echo "$(LLVM_VERSION_FULL)" | grep -q "$$FOUND_VERSION"; then \ + echo "mismatch of version. Found: $$FOUND_VERSION / Expected: $(LLVM_VERSION_FULL)"; \ + exit 1; \ + fi + @mkdir -p stamps + touch $@ + +VERBOSE=-v + +stamps/debian-full-build: stamps/configure + echo "Using cmake: $(CMAKE_BIN)" +# linker hack so stage2 can link against stage1 libs at runtime + LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \ + VERBOSE=1 CMAKE_BUILD_PARALLEL_LEVEL=$(NJOBS) \ + $(TIME_COMMAND) $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) --target stage2 + +# Check the stage 2 build worked + if ! readelf --string-dump .comment $(TARGET_BUILD_STAGE2)/bin/clang 2>&1|grep -q "clang version"; then \ + echo "clang hasn't been built using clang. Bye bye. Check that the stage2 build has been done."; \ + if test "$(SCAN_BUILD)" = "no"; then \ + exit 2; \ + fi; \ + fi + if ldd $(TARGET_BUILD_STAGE2)/lib/libclang-$(LLVM_VERSION).so.1|grep -q libclang-cpp-$(LLVM_VERSION); then \ + echo "libclang-$(LLVM_VERSION).so.1 depends on libclang-cpp. Should not be the case"; \ + exit 2; \ + fi + if test -e $(DEB_INST)/$(LLVM_DIR)/lib/libclang-$(LLVM_VERSION).so.1; then \ + echo "libclang-$(LLVM_VERSION).so.1 link is broken"; \ + exit 2; \ + fi + touch $@ + +stamps/debian-libfuzzer-build: stamps/debian-full-build +ifeq (${LIBFUZZER_ENABLE},yes) + cd $(TARGET_BUILD); \ + CFLAGS="$(opt_flags) $(STAGE_2_CFLAGS)"; \ + echo $$CFLAGS; \ + for sourcefile in $(BASE_PATH)/compiler-rt/lib/fuzzer/*.cpp; do \ + $(SCCACHE_CMD) $(STAGE_2_BIN_DIR)/clang++ -c $$CFLAGS -std=c++17 $$sourcefile -IFuzzer || exit 1; \ + done; \ + ar ruv libFuzzer.a Fuzzer*.o +endif + touch $@ + +stamps/debian-libclc-build: stamps/debian-full-build +# workaround missing files on i386 + cd $(TARGET_BUILD_STAGE2) && ninja opt llvm-link llvm-as +# Builds libclc + mkdir -p libclc/build + echo "Using cmake: $(CMAKE_BIN)" + cd libclc/build && \ + $(CMAKE_BIN) ../ \ + -G Ninja \ + $(SCCACHE_CMAKE) \ + -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \ + -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \ + -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_CXXFLAGS) -I$(BASE_PATH)/llvm/include" \ + -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_DATADIR=lib \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ + -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \ + $(LIBCLC_LLVM_SPIRV) \ + -DLIBCLC_TARGETS_TO_BUILD="$(LIBCLC_TARGETS_TO_BUILD)"; \ + LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(STAGE_2_LIB_DIR) $(TIME_COMMAND) ninja -j $(NJOBS) $(VERBOSE) +ifndef LLVM_SPIRV + echo "libclc built without SPIRV (.spv) outputs because llvm-spirv wasn't found" +endif + touch $@ + +# Remove some new flags introduced by dpkg 1.22.0; +STAGE_2_WASM_CFLAGS := $(filter-out -march=% -mfpu=% -fcf-protection% -mbranch-protection% -mcmodel=%, $(STAGE_2_CFLAGS)) +STAGE_2_WASM_CXXFLAGS := $(filter-out -march=% -mfpu=% -fcf-protection% -mbranch-protection% -mcmodel=%, $(STAGE_2_CXXFLAGS)) + +build-mingw/compiler-rt-%: cpu = $(@:build-mingw/compiler-rt-%=%) +build-mingw/compiler-rt-%: stamps/debian-full-build + @echo "Building compiler-rt for $(cpu)-w64-windows-gnu" + @echo "Using cmake: $(CMAKE_BIN)" + mkdir -p "$@" + $(CMAKE_BIN) -B "$@" -S compiler-rt/lib/builtins/ \ + -G Ninja \ + $(SCCACHE_CMAKE) \ + -DCMAKE_SYSTEM_NAME=Windows \ + -DCMAKE_SYSROOT=/usr/share/mingw-w64 \ + -DCMAKE_C_COMPILER_TARGET=$(cpu)-w64-windows-gnu \ + -DCMAKE_CXX_COMPILER_TARGET=$(cpu)-w64-windows-gnu \ + -DCMAKE_ASM_COMPILER_TARGET=$(cpu)-w64-windows-gnu \ + -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \ + -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \ + -DCMAKE_C_FLAGS="-O2 -DNDEBUG -g0 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -D_UCRT" \ + -DCMAKE_CXX_FLAGS="-O2 -DNDEBUG -g0 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -D_UCRT" \ + -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_INSTALL_PREFIX=/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION) \ + -DCMAKE_INSTALL_DATADIR=lib \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ + -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \ + -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ + -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ + -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY + $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE) + +build-wasm/compiler-rt-%: cpu = $(@:build-wasm/compiler-rt-%=%) +build-wasm/compiler-rt-%: stamps/debian-full-build + @echo "Building compiler-rt for $(cpu)" + @echo "Using cmake: $(CMAKE_BIN)" + mkdir -p "$@" + $(CMAKE_BIN) -B "$@" -S compiler-rt/lib/builtins/ \ + -G Ninja \ + $(SCCACHE_CMAKE) \ + -DCMAKE_SYSTEM_NAME=Generic \ + -DCMAKE_C_COMPILER_TARGET=$(cpu)-unknown-unknown \ + -DCMAKE_CXX_COMPILER_TARGET=$(cpu)-unknown-unknown \ + -DCMAKE_ASM_COMPILER_TARGET=$(cpu)-unknown-unknown \ + -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \ + -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \ + -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_WASM_CFLAGS)" \ + -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_WASM_CXXFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_MODULE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(STAGE_2_LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_INSTALL_PREFIX=/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION) \ + -DCMAKE_INSTALL_DATADIR=lib \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ + -DLLVM_CMAKE_DIR=$(STAGE_2_BIN_DIR)/../ \ + -DCOMPILER_RT_STANDALONE_BUILD=ON \ + -DCOMPILER_RT_BAREMETAL_BUILD=ON \ + -DCOMPILER_RT_INCLUDE_TESTS=OFF \ + -DCOMPILER_RT_USE_LIBCXX=OFF \ + -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ + -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(cpu)-unknown-unknown \ + -DCOMPILER_RT_OS_DIR=wasi + $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE) + +ifeq ($(LIBCXX_WASM_ENABLE), no) +build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-% + @echo "Skipping libcxx-*-wasi on this distro $(DISTRO)" +else +build-wasm/libcxx-%-wasi: cpu = $(@:build-wasm/libcxx-%-wasi=%) +build-wasm/libcxx-%-wasi: build-wasm/compiler-rt-% + @echo "Building libcxx for $(cpu)" + @echo "Using cmake: $(CMAKE_BIN)" + + # We need a functioning clang, which in turn requires a linker. We + # patch clang to use a versioned wasm-ld (cf. wasm-ld-path.diff), so + # create wasm-ld-$(LLVM_VERSION) in the stage2 bin dir manually. + cp $(STAGE_2_BIN_DIR)/wasm-ld $(STAGE_2_BIN_DIR)/wasm-ld-$(LLVM_VERSION) + + # We need a wasm compiler-rt. Depend on the make target that builds it, + # and manually copy it to the stage2 lib dir from there + mkdir -p \ + $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/ + cp build-wasm/compiler-rt-$(cpu)/lib/wasi/libclang_rt.builtins-$(cpu).a \ + $(STAGE_2_LIB_DIR)/clang/$(LLVM_VERSION)/lib/wasi/ + + # Notes: + # - Uses $(LDFLAGS) instead of $(STAGE_2_LDFLAGS), because wasm-ld does not + # support --build-id yet. Upstream is working on it, cf. D107662. + # - Pass -fno-stack-protector to disable -fstack-protector-strong that is + # passed by default, as this is not supported yet in WebAssembly, cf. + # https://github.com/WebAssembly/wasi-libc/issues/157 + # - Use llvm-ar and llvm-ranlib, as binutils does not currently support + # WebAssembly and creates invalid indexes. + # - Use LLVM_LIBDIR_SUFFIX to install to /usr/lib/wasm32-wasi. To be + # replaced by CMAKE_INSTALL_LIBDIR=lib/$(cpu)-wasi when D130586 + # ships. + mkdir -p "$@" + $(CMAKE_BIN) -B "$@" -S runtimes \ + -G Ninja \ + $(SCCACHE_CMAKE) \ + -DCMAKE_C_COMPILER_WORKS=ON \ + -DCMAKE_CXX_COMPILER_WORKS=ON \ + -DLLVM_COMPILER_CHECKED=ON \ + -DCMAKE_C_COMPILER_TARGET=$(cpu)-unknown-wasi \ + -DCMAKE_CXX_COMPILER_TARGET=$(cpu)-unknown-wasi \ + -DCMAKE_ASM_COMPILER_TARGET=$(cpu)-unknown-wasi \ + -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \ + -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \ + -DCMAKE_AR=$(STAGE_2_BIN_DIR)/llvm-ar \ + -DCMAKE_RANLIB=$(STAGE_2_BIN_DIR)/llvm-ranlib \ + -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_WASM_CFLAGS) -fno-stack-protector" \ + -DCMAKE_CXX_FLAGS="$(opt_flags) $(STAGE_2_WASM_CXXFLAGS) -fno-stack-protector" \ + -DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS) -L$(STAGE_2_LIB_DIR)" \ + -DCMAKE_INSTALL_PREFIX=/$(LLVM_DIR) \ + -DCMAKE_INSTALL_INCLUDEDIR=include/$(cpu)-wasi \ + -DLLVM_LIBDIR_SUFFIX=/$(cpu)-wasi \ + -DLLVM_CONFIG=$(STAGE_2_BIN_DIR)/llvm-config \ + -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ + -DLIBCXX_USE_COMPILER_RT=ON \ + -DLIBCXXABI_USE_COMPILER_RT=ON \ + -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY=OFF \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_ABI_VERSION=2 \ + -DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \ + -DLIBCXX_ENABLE_SHARED:BOOL=OFF \ + -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \ + -DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \ + -DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \ + -DLIBCXX_ENABLE_THREADS:BOOL=OFF \ + -DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \ + -DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ + -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ + -DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \ + -DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \ + -DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \ + -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \ + -DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \ + -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ + -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ + -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF + $(TIME_COMMAND) ninja -C "$@" -j $(NJOBS) $(VERBOSE) +endif + +# Build compiler-rt for wasm32 and wasm64. Build libcxx only for wasm32, as +# libcxx requires wasi-libc, which only exists for wasm32 right now. +stamps/debian-wasm-build: \ + build-wasm/compiler-rt-wasm32 \ + build-wasm/libcxx-wasm32-wasi \ + build-wasm/compiler-rt-wasm64 + touch $@ + +# Build compiler-rt for mingw/w64. +stamps/debian-mingw-build: \ + build-mingw/compiler-rt-x86_64 \ + build-mingw/compiler-rt-i686 \ + build-mingw/compiler-rt-armv7 \ + build-mingw/compiler-rt-aarch64 + touch $@ + +stamps/sccache-stats: +# If we used sccache, shows stats + if test -f $(SCCACHE_CMD); then \ + ls -al $(SCCACHE_PATH)/; \ + mkdir -p /tmp/buildd/source/; \ + $(SCCACHE_CMD) --stats-format json --show-stats > /tmp/buildd/source/sccache-stats.json; \ + cat /tmp/buildd/source/sccache-stats.json; \ + fi + touch $@ + +override_dh_auto_build: \ + stamps/debian-full-build \ + $(if $(filter libfuzzer-%, $(packages)),stamps/debian-libfuzzer-build) \ + $(if $(filter libclc-%, $(packages)),stamps/debian-libclc-build) \ + $(if $(filter %-wasm32 %-wasm64, $(packages)),stamps/debian-wasm-build) \ + $(if $(filter %-dev-win, $(packages)),stamps/debian-mingw-build) \ + stamps/sccache-stats + +override_dh_prep: stamps/build_doc + dh_prep + +ifeq ($(DOC_GENERATION), no) +stamps/build_doc: stamps/debian-full-build + mkdir -p $(TARGET_BUILD)/tools/clang/stage2-bins/docs/ocamldoc/html/ + @echo "Don't build doc on this distro $(DISTRO)" +else +stamps/build_doc: stamps/debian-full-build + BUILDDIR="_build"; \ + ALLSPHINXOPTS="-d $$BUILDDIR/doctrees ."; \ + cd $(CURDIR)/llvm/docs && \ + sphinx-build -b html $$ALLSPHINXOPTS $$BUILDDIR/html && \ + sphinx-build -b man $$ALLSPHINXOPTS $$BUILDDIR/man && \ + cd -; \ + cd $(CURDIR)/clang/docs && \ + sphinx-build -b html $$ALLSPHINXOPTS $$BUILDDIR/html && \ + sphinx-build -b man $$ALLSPHINXOPTS $$BUILDDIR/man + + -(if test "$(OCAML_ENABLE)" = yes; then \ + ninja -C "$(TARGET_BUILD_STAGE2)" $(VERBOSE) ocaml_doc; \ + fi) + + ninja -C $(TARGET_BUILD_STAGE2) $(VERBOSE) docs-llvm-html docs-clang-html docs-clang-tools-html docs-clang-tools-man docs-clang-man docs-llvm-man + +ifeq (${POLLY_ENABLE},yes) + ninja -C $(TARGET_BUILD_STAGE2) $(VERBOSE) docs-polly-html docs-polly-man +endif + +# Rename manpages + d=$(CURDIR)/llvm/docs/_build/man/; \ + if test -d $$d; then \ + cd $$d; \ + for f in *.1; do \ + echo "$$f"| grep -q $(LLVM_VERSION) || mv $$f `echo $$f|sed "s|\.1|-$(LLVM_VERSION).1|"`; \ + done; \ + else \ + echo "could not find $$d"; \ + fi +# the clang doc generation only generates clang manpage +# When it will do more, we should move that in the loop above + cd clang/docs/_build/man/ && mv clang.1 clang-$(LLVM_VERSION).1 + +# Remove the copy of jquery. See bug #701087 + for d in $(TARGET_BUILD_STAGE2)/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/docs/html/_static/ $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html/_static/; do \ + cd $$d && rm -f jquery.js && ln -s /usr/share/javascript/jquery/jquery.js && cd -; \ + cd $$d && rm -f underscore.js && ln -s /usr/share/javascript/underscore/underscore.js && cd -; \ + done + + mkdir -p debian/man/ + ls -al clang/tools/scan-view/bin/scan-view + clang/tools/scan-view/bin/scan-view --help || true + help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/scan-view/bin/scan-view > debian/man/scan-view-$(LLVM_VERSION).1 || true + help2man --no-info --version-string=$(LLVM_VERSION) clang/tools/clang-format/clang-format-diff.py > debian/man/clang-format-diff-$(LLVM_VERSION).1 || true + + CMDS="llvm-dwarfdump llvm-mc llvm-objdump llvm-rtdyld llvm-size llvm-ranlib lldb clang-format clang clang++ clang-tblgen clang-check clang-cpp clang-tidy clang-apply-replacements clang-query pp-trace sancov lli modularize clang-include-fixer find-all-symbols clang-reorder-fields ld.lld llvm-tblgen clang-change-namespace clang-offload-bundler clangd clang-repl git-clang-format run-clang-tidy"; \ + for f in $$CMDS; do \ + echo "Generating manpage of $$f"; \ + LD_LIBRARY_PATH=$(DEB_INST)/$(LLVM_DIR)/lib/:/usr/lib/*/libfakeroot help2man --no-info --version-string=$(LLVM_VERSION) $(TARGET_BUILD_STAGE2)/bin/$$f > debian/man/$$f-$(LLVM_VERSION).1 || true; \ + done + # Create the following directory regardless as libomp-XX-doc + # is Architecture: all + mkdir -p openmp/runtime/doc/doxygen/generated/html/ + + if test "$(OPENMP_ENABLE)" = yes; then \ + cd openmp/runtime && doxygen doc/doxygen/config; cd -; \ + cd openmp/runtime/doc/doxygen/generated/html/ && rm jquery.js && ln -s /usr/share/javascript/jquery/jquery.js; \ + fi + touch $@ +endif + +override_dh_auto_install: +ifeq ($(SMALL_DISK),yes) + # Clean up temporary files to make sure the install works + rm -rf $(find $(TARGET_BUILD) -wholename '*CMakeFiles*' -not -name CMakeLists.txt -a -name "*.dir" -type d) +endif + + # install/fast enables a make install without recompiling temporary files + LD_LIBRARY_PATH=$(STAGE_2_LIB_DIR):$$LD_LIBRARY_PATH DESTDIR=$(DEB_INST)/ ninja -C $(TARGET_BUILD) $(VERBOSE) stage2-install + + # Not used on Linux. + rm -f $(DEB_INST)/$(LLVM_DIR)/bin/argdumper + rm -f $(DEB_INST)/$(LLVM_DIR)/share/clang/clang-format-bbedit.applescript + # Remove bat files https://bugs.llvm.org/show_bug.cgi?id=30755 + rm -f $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/libexec/*.bat $(DEB_INST)/usr/share/clang/scan-build-$(LLVM_VERSION)/bin/*.bat + + rm -f $(DEB_INST)/$(LLVM_DIR)/lib/libExampleIRTransforms.a + # Remove an example - introduced in https://reviews.llvm.org/D61446 + rm -f $(DEB_INST)/$(LLVM_DIR)/lib/libBye.a + + : # remove extra stuff, not installed by the upstream installation + cp $(TARGET_BUILD_STAGE2)/bin/clang-query $(DEB_INST)/$(LLVM_DIR)/bin + + : # lit install + mkdir -p $(d)/$(LLVM_DIR)/build/utils/lit + cp -r llvm/utils/lit/* $(d)/$(LLVM_DIR)/build/utils/lit/. + + + # Only run on executable, not script + $(call remove_rpath,$(DEB_INST)/$(LLVM_DIR)/bin/*) +ifeq (,$(filter $(DEB_HOST_ARCH), powerpc)) +ifneq (,$(filter $(DEB_HOST_ARCH_OS),linux)) + # To fix custom-library-search-path + $(call remove_rpath,$(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)*/lib/linux/*.so) +endif +endif + + if test "$(LIBUNWIND_ENABLE)" = yes; then \ + mkdir -p debian/tmp/usr/include/libunwind; \ + cp -R libunwind/include/* debian/tmp/usr/include/libunwind/; \ + fi + + : # libomp + if test "$(OPENMP_ENABLE)" = yes; then \ + cd debian/tmp/$(LLVM_DIR)/lib; \ + ln -s libomp.so.$(SONAME_OPENMP) libomp.so; \ + fi + +# Remove artifact (where compiler-rt is built) +# if test -d $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux; then \ +# cd $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux && rm -rf $$(find . -mindepth 2 -maxdepth 2 -type d) && rm -rf $$(find -empty) && rm -rf */.dir; \ +# fi + +ifneq (,$(filter clang-tools-$(LLVM_VERSION), $(packages))) + mkdir -p debian/clang-tools-$(LLVM_VERSION)/$(LLVM_DIR)/bin/ + cp compiler-rt/lib/asan/scripts/asan_symbolize.py \ + debian/clang-tools-$(LLVM_VERSION)/$(LLVM_DIR)/bin/asan_symbolize + dh_link -p clang-tools-$(LLVM_VERSION) \ + /$(LLVM_DIR)/bin/asan_symbolize /usr/bin/asan_symbolize-$(LLVM_VERSION) +endif + +ifneq (,$(filter libfuzzer-$(LLVM_VERSION)-dev, $(packages))) +ifeq (${LIBFUZZER_ENABLE},yes) + mkdir -p debian/libfuzzer-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/ + cp -v $(TARGET_BUILD)/libFuzzer.a debian/libfuzzer-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/ +endif +endif + +# Because of hurd, we are more flexible in what we include in libclang-X.Y-rt +# but we don't want to install wasi files into libclang-rt as they have their own package +# So, we remove this directory from the package + rm -f debian/libclang-rt-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/wasi/ + +# Create this fake directory to make the install libclang-common-dev happy +# under the unsupported archs of compiler-rt + mkdir -p $(DEB_INST)/usr/lib/clang/$(LLVM_VERSION)/lib + mkdir -p $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/lib/ + mkdir -p $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/lib/clang_linux/ + mkdir -p $(TARGET_BUILD)/tools/clang/runtime/compiler-rt/clang_linux/ + mkdir -p $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/share/ +# On some archs, the sanitizers are not built. As we explicitly includes some txt files, create +# a fake txt to make sure it doesn't fail + echo "The *.txt files, if available, contain helper to override some of the errors messages." > $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/README.txt + echo "Please visit https://github.com/google/sanitizers/wiki/AddressSanitizer for help" >> $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/README.txt +# Path changed. Make a copy of it + cp $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/README.txt $(DEB_INST)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/share/README.txt + +# Remove things that CMake install but which aren't packaged yet, +# or are packaged from the source or build tree. + mv $(DEB_INST)/$(LLVM_DIR)/bin/clang-$(LLVM_VERSION) \ + $(DEB_INST)/$(LLVM_DIR)/bin/clang + + # workaround issue https://github.com/llvm/llvm-project/issues/57101 + find debian/tmp -iname 'libbolt_rt*.a' -path '*/build-llvm/*' -delete + # Remove an osx file + rm -f $(DEB_INST)/$(LLVM_DIR)/lib/libbolt_rt_instr_osx.a + + : # FIXME: prepare_builtins: error while loading shared libraries: libLLVM.so.21.1 + if test -d libclc/build; then \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(CURDIR)/build-llvm/tools/clang/stage2-bins/lib \ + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C libclc/build install; \ + fi + + if test -d build-wasm/compiler-rt-wasm32; then \ + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/compiler-rt-wasm32 install; \ + fi + if test -d build-wasm/compiler-rt-wasm64; then \ + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/compiler-rt-wasm64 install; \ + fi + if test -d build-wasm/libcxx-wasm32-wasi; then \ + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-wasm/libcxx-wasm32-wasi install; \ + fi + + set -e; for arch in x86_64 i686 armv7 aarch64; do \ + if test -d build-mingw/compiler-rt-$${arch}; then \ + DESTDIR=$(DEB_INST) ninja $(VERBOSE) -C build-mingw/compiler-rt-$${arch} install; \ + fi; \ + done + +# Rename binaries + mkdir -p $(DEB_INST)/usr/bin/ + cd $(DEB_INST)/usr/bin/; \ + rm -f *; \ + for f in ../lib/llvm-$(LLVM_VERSION)/bin/*; do \ + ln -s $$f `basename $$f`-$(LLVM_VERSION); \ + echo "Link $$f to `basename $$f`-$(LLVM_VERSION)"; \ + done + + rm -f $(DEB_INST)/usr/bin/flang-$(LLVM_VERSION)-$(LLVM_VERSION) +# Rename some stuff with the version name + cp clang/tools/scan-build/man/scan-build.1 clang/tools/scan-build/man/scan-build-$(LLVM_VERSION).1 + + # copy the vim files (except that tablegen does not exist for indent + VIM_DIRS="ftdetect ftplugin syntax indent"; \ + for dir in $$VIM_DIRS; do \ + cp -f llvm/utils/vim/$$dir/llvm.vim llvm/utils/vim/$$dir/llvm-$(LLVM_VERSION).vim; \ + if test -f llvm/utils/vim/$$dir/tablegen.vim; then \ + cp -f llvm/utils/vim/$$dir/tablegen.vim llvm/utils/vim/$$dir/tablegen-$(LLVM_VERSION).vim; \ + fi; \ + done + cp -f llvm/utils/vim/vimrc llvm/utils/vim/llvm-$(LLVM_VERSION)-vimrc + + cp -f clang/tools/clang-format/clang-format-diff.py clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) + + cp -f clang/tools/clang-format/clang-format.py clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + + rm -rf clang/tools/scan-build-$(LLVM_VERSION) + cp -fR clang/tools/scan-build clang/tools/scan-build-$(LLVM_VERSION) + + rm -rf clang/tools/scan-build-py-$(LLVM_VERSION) + cp -fR clang/tools/scan-build-py clang/tools/scan-build-py-$(LLVM_VERSION) + chmod +x clang/tools/scan-build-py-$(LLVM_VERSION)/bin/* + + rm -rf clang/tools/scan-view-$(LLVM_VERSION) + cp -fR $(CURDIR)/clang/tools/scan-view clang/tools/scan-view-$(LLVM_VERSION) + +# Remove some license files + rm -f $(DEB_INST)/$(LLVM_DIR)/include/llvm/Support/LICENSE.TXT + +# Disable CMake's LLVMExports package validation checks for target files that we may remove. + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) \(Polly\|sancov\|llvm-omp-device-info\|omptarget\|omp\)/ {s|^|#|}' \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/llvm/LLVMExports-*.cmake + +# the obscure libLLVM.so.1 file ... + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) LLVM/ {s|^|#|}' \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\)_.*\/libLLVM\.so\.1.*/ {s|^|#|}' \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/llvm/LLVMExports-*.cmake + +# Also disable mlir-* checks in the cmake + sed -i \ + -e '/_\(cmake_import_check_targets\|IMPORT_CHECK_TARGETS\) \(mlir-\|MLIR\)/ {s|^|#|}' \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/llvm/LLVMExports-*.cmake + + sed -i \ + -e '/_\(cmake_import_check_files_for\|IMPORT_CHECK_FILES_FOR\)_.*\/bin\/.*/ {s|^|#|}' \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/llvm/LLVMExports-*.cmake \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/clang/ClangTargets-*.cmake + + sed -i \ + -e '/_\(cmake_import_check_files_for\|IMPORT_CHECK_FILES_FOR\)_\(mlir\|Polly\|MLIR\|omp\|omptarget\)/ {s|^|#|}' \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/llvm/LLVMExports-*.cmake \ + $(DEB_INST)/$(LLVM_DIR)/lib/cmake/clang/ClangTargets-*.cmake + + : # Fix the python lldb installation + : # The link to the binary extension is managed in python3-lldb-X.Y.links.in + : # this binary is installed in lldb-X.Y, not depending on python3-lldb-X.Y + rm -vf $(DEB_INST)/$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb/lldb-argdumper + +# Manage the polly files. Sometimes, we build them. Sometimes not. + if test "$(POLLY_ENABLE)" = yes; then \ + mkdir -p debian/libclang-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/ \ + debian/libpolly-$(LLVM_VERSION)-dev/$(LLVM_DIR)/include/polly/; \ + mv -f $(DEB_INST)/$(LLVM_DIR)/lib/libPolly* \ + debian/libpolly-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/; \ + rm -rf debian/libpolly-$(LLVM_VERSION)-dev/$(LLVM_DIR)/include/polly; \ + mv -f $(DEB_INST)/$(LLVM_DIR)/include/polly/ \ + debian/libpolly-$(LLVM_VERSION)-dev/$(LLVM_DIR)/include/; \ + fi + + mkdir -p debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/ debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/ + if test "$(DOC_GENERATION)" = yes; then \ + cp -R $(TARGET_BUILD_STAGE2)/docs/html debian/usr/share/doc/llvm-$(LLVM_VERSION)-doc/; \ + cp -R $(TARGET_BUILD_STAGE2)/tools/clang/docs/html debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/; \ + cp -R $(TARGET_BUILD_STAGE2)/tools/clang/tools/extra/docs/html debian/usr/share/doc/clang-$(LLVM_VERSION)-doc/clang-extra; \ + else \ + mkdir -p llvm/docs/_build/html clang/docs/_build/html/ tools/clang/tools/extra/docs/html openmp/runtime/doc/doxygen/generated/html/ debian/man/ clang/docs/_build/man/ llvm/docs/_build/man/; \ + rm debian/*$(LLVM_VERSION)*manpages; \ + fi + +ifneq (,$(filter libllvm-$(LLVM_VERSION)-ocaml-dev, $(packages))) +# Rename OCaml bindings + if test "$(OCAML_ENABLE)" = yes; then \ + mkdir -p "$(DEB_INST)/$(OCAML_STDLIB_DIR)"; \ + mkdir -p "$(DEB_INST)/$(LLVM_DIR)/docs/ocaml/html/html"; \ + mkdir -p "$(DEB_INST)/$(LLVM_DIR)/share/doc/llvm/ocaml-html/"; \ + if test -d "$(DEB_INST)/$(LLVM_DIR)/lib/ocaml"; then \ + mv -f "$(DEB_INST)$(LLVM_DIR)/lib/ocaml" \ + "$(DEB_INST)$(OCAML_STDLIB_DIR)/llvm-$(LLVM_VERSION)"; \ + fi; \ + fi +endif + +# For some reasons, from Ubuntu jammy, python stuff are installed in /local/lib, move it back + if test -d $(DEB_INST)/$(LLVM_DIR)/local/lib/; then \ + mv $(DEB_INST)/$(LLVM_DIR)/local/lib/* $(DEB_INST)/$(LLVM_DIR)/lib/; \ + rm -f $(DEB_INST)/$(LLVM_DIR)/lib/python*/*-packages/six.py; \ + ls $(DEB_INST)/$(LLVM_DIR)/local/; \ + rmdir $(DEB_INST)/$(LLVM_DIR)/local/lib; \ + rmdir $(DEB_INST)/$(LLVM_DIR)/local; \ + fi + +# Disable the python binding for buster. not sure why it regressed +# regressed de4364f1ecaa..0745b0c0354a + if test "$(DISTRO)" = "buster"; then \ + mkdir -p $(DEB_INST)/$(LLVM_DIR)/share/gdb/python/ompd/; \ + touch $(DEB_INST)/$(LLVM_DIR)/share/gdb/python/ompd/empty; \ + fi + if test "$(LLDB_PYTHON_ENABLE)" = no; then \ + echo "" > debian/python3-lldb-$(LLVM_VERSION).install; \ + fi +# rename the ompd.so python extension, plus the whole thing shouldn't go to share ... + if [ -f $(DEB_INST)/$(LLVM_DIR)/share/gdb/python/ompd/ompdModule.so ]; then \ + mv $(DEB_INST)/$(LLVM_DIR)/share/gdb/python/ompd/ompdModule.so \ + $(DEB_INST)/$(LLVM_DIR)/share/gdb/python/ompd/ompdModule$(PY_EXT_SUFFIX); \ + fi + +# Remove some mlir example + rm -f $(DEB_INST)/$(LLVM_DIR)/lib/libMyExtensionCh*.a + +# Add autocompletion for the versioned clang binary, Debian #1109370 + echo 'complete -F _clang clang-$(LLVM_VERSION)' \ + >> $(DEB_INST)/$(LLVM_DIR)/share/clang/bash-autocomplete.sh + +# Python code removals + rm -vf $(DEB_INST)/$(LLVM_DIR)/lib/python*/*-packages/six.py + rm -vf $(DEB_INST)/$(LLVM_DIR)/local/lib/python*/*-packages/six.py + find $(DEB_INST)/$(LLVM_DIR) -type d -name __pycache__ | xargs -r rm -vrf + find $(DEB_INST)/$(LLVM_DIR) -type f -name '*.pyc' | xargs -r rm -vf + + : # fix lintian warnings for non-script python files + -chmod a-x $(d)/$(LLVM_DIR)/build/utils/lit/lit/main.py \ + $(d)/$(LLVM_DIR)/build/utils/lit/lit/reports.py \ + $(d)/$(LLVM_DIR)/build/utils/lit/tests/discovery.py \ + $(d)/$(LLVM_DIR)/share/opt-viewer/optpmap.py + + : # Replace all '#!' calls to python with /usr/bin/python3 + : # and make them executable + : # FIXME: scan-build and scan-view are only installed via install file, fix it in the source for now + -for i in \ + $$(find \ + $(d)/$(LLVM_DIR)/bin \ + $(d)/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/bin \ + $(d)/$(LLVM_DIR)/share/clang \ + $(d)/$(LLVM_DIR)/build/utils/lit \ + $(d)/$(LLVM_DIR)/share/opt-viewer \ + $(d)/$(LLVM_DIR)/share/scan-view \ + $(d)/$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb \ + $(d)/usr/share/clang/scan-build-$(LLVM_VERSION) \ + $(d)/usr/share/clang/scan-view-$(LLVM_VERSION) \ + clang/tools/scan-build-$(LLVM_VERSION) \ + clang/tools/scan-view-$(LLVM_VERSION) \ + -type f ! -name '*.so*' ); \ + do \ + if file -b $$i | grep -q ^ELF; then \ + continue; \ + fi; \ + sed '1s,#!.*python[^ ]*\(.*\),#! /usr/bin/python3\1,' \ + $$i > $$i.temp; \ + if cmp --quiet $$i $$i.temp; then \ + rm -f $$i.temp; \ + else \ + if [ ! -x $$i ]; then \ + echo "fixed x file permissions: $$i"; \ + fi; \ + mv -f $$i.temp $$i; \ + chmod 755 $$i; \ + echo "fixed interpreter: $$i"; \ + fi; \ + done + +# Delete the target build directory to save some space on the build systems +# All the files have been installed in $(CURDIR)/debian/tmp/ already +ifeq ($(SMALL_DISK),yes) + rm -rf $(TARGET_BUILD) +endif + + +override_dh_python3: +ifneq (,$(filter python3-lldb-$(LLVM_VERSION), $(packages))) + -find debian \( -name '_lldb*.so' -o -name 'liblldb*.so*' \) -ls + : # need the extension be present before calling dh_python3 + rm -vf debian/python3-lldb-$(LLVM_VERSION)/$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb/_lldb$(PY_EXT_SUFFIX) + cp $(DEB_INST)/$(LLVM_DIR)/lib/liblldb-$(LLVM_VERSION).so.1 \ + debian/python3-lldb-$(LLVM_VERSION)/$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb/_lldb$(PY_EXT_SUFFIX) + dh_python3 -v -p python3-lldb-$(LLVM_VERSION) \ + /$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb + -ls debian/python3-lldb-$(LLVM_VERSION).p*.debhelper + -cat debian/python3-lldb-$(LLVM_VERSION).substvars + -find debian/python3-lldb-$(LLVM_VERSION) + : # remove, symlink created later by dh_link + rm -vf debian/python3-lldb-$(LLVM_VERSION)/$(LLVM_DIR)/lib/$(PYTHON3)/site-packages/lldb/_lldb$(PY_EXT_SUFFIX) +endif +ifneq (,$(filter python3-clang-$(LLVM_VERSION), $(packages))) + dh_python3 -v -p python3-clang-$(LLVM_VERSION) + -ls debian/python3-clang-$(LLVM_VERSION).p*.debhelper + -cat debian/python3-clang-$(LLVM_VERSION).substvars + -find debian/python3-clang-$(LLVM_VERSION) +endif +ifneq (,$(filter clang-tools-$(LLVM_VERSION), $(packages))) + dh_python3 -v -p clang-tools-$(LLVM_VERSION) +endif + dh_python3 -v -p llvm-$(LLVM_VERSION)-tools \ + /$(LLVM_DIR)/build/utils/lit + +# for apt.llvm.org and prerelease versions, we are depending on the +# upstream version. After release, assume that the ABIs don't change +# anymore with the point releases (X.Y.1, Y.Y.2, ...) +LLVM_RELEASE := $(LLVM_EPOCH)$(LLVM_VERSION).$(LLVM_VERSION_MINOR).0 +override_dh_makeshlibs: +ifeq ($(SLOPPY_BUILD),yes) + @echo 'FIXME: SLOPPY_BUILD defined, check results of dh_makeshlibs' +endif +ifneq (,$(findstring ~,$(PKG_VERSION))) + : # all in one call, to get results for all in case of mismatches + $(ignore_if_fail)dh_makeshlibs \ + -plibclang$(SONAME_EXT)-$(LLVM_VERSION) \ + -pliblldb-$(LLVM_VERSION) \ + -plibllvm$(LLVM_VERSION) \ + $(if $(filter yes, $(SKIP_COMMON_PACKAGES)),,-plibomp$(SONAME_OPENMP)) +else + $(ignore_if_fail)dh_makeshlibs -plibclang$(SONAME_EXT)-$(LLVM_VERSION) \ + '-Vlibclang$(SONAME_EXT)-$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + $(ignore_if_fail)dh_makeshlibs -pliblldb-$(LLVM_VERSION) \ + '-Vliblldb-$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + $(ignore_if_fail)dh_makeshlibs -plibllvm$(LLVM_VERSION) \ + '-Vlibllvm$(LLVM_VERSION) (>= $(LLVM_RELEASE))' + ifneq ($(SKIP_COMMON_PACKAGES),yes) + $(ignore_if_fail)dh_makeshlibs -plibomp$(SONAME_OPENMP) \ + '-Vlibomp$(SONAME_OPENMP) (>= $(LLVM_RELEASE))' + endif + + ifneq ($(SKIP_COMMON_PACKAGES),yes) + : # ignore errors for these new packages for now + $(ignore_if_fail)dh_makeshlibs -pllvm-libunwind1 -plibc++abi1 -plibc++1 + endif +endif + $(ignore_if_fail)dh_makeshlibs --remaining-packages -V + +override_dh_shlibdeps: +ifeq ($(SKIP_COMMON_PACKAGES),yes) + echo 'libc++ 1 libc++1 (>= 1:$(LLVM_VERSION).1)' > debian/shlibs.common + echo 'libc++abi 1 libc++abi1 (>= 1:$(LLVM_VERSION).1)' >> debian/shlibs.common + ifneq (,$(filter $(DEB_HOST_ARCH), $(OMP_ARCHS))) + echo 'libomp $(SONAME_OPENMP) libomp5 (>= 1:$(LLVM_VERSION).1)' >> debian/shlibs.common + endif + ifneq (,$(filter $(DEB_HOST_ARCH), $(LIBUNWIND_ARCHS))) + echo 'libunwind 1 llvm-libunwind1 (>= 1:$(LLVM_VERSION).1)' >> debian/shlibs.common + endif + cat debian/shlibs.common >> debian/shlibs.local +endif +ifeq ($(SLOPPY_BUILD),yes) + @echo 'FIXME: SLOPPY_BUILD defined, check results of dh_shlibdeps' +endif +# Ignore asan libraries. They would trigger dependencies to multiarch libraries + $(ignore_if_fail)dh_shlibdeps -l$(DEB_INST)/$(LLVM_DIR)/lib/ \ + -Xlibclang_rt.asan -Xlibclang_rt.asan -Xlibclang_rt.asan-*.so -Xlibclang_rt.asan-*.so + +override_dh_installman: + if test -f lld/docs/ld.lld.1; then \ + mv lld/docs/ld.lld.1 lld/docs/ld.lld-$(LLVM_VERSION).1; \ + fi + dh_installman +# Make sure that lli manpage is only in llvm-3.2-runtime (See #697117) + rm -f debian/llvm-$(LLVM_VERSION)/usr/share/man/man1/lli* + + +override_dh_strip: +ifeq ($(SMALL_DISK),yes) + : # running out of diskspace on the buildds + find $(TARGET_BUILD) \( -name '*.o' -o -name '*.a' \) -type f | xargs -r rm -f +endif +ifeq (0, $(strip $(shell dpkg --compare-versions $(DH_VERSION) ge 9.20160114; echo $$?))) + : # If we don't have the right version of debhelper, don't run the option + dh_strip -p libclang$(SONAME_EXT)-$(LLVM_VERSION) --dbgsym-migration='libclang$(SONAME_EXT)-$(LLVM_VERSION)-dbg' + dh_strip -p libllvm$(LLVM_VERSION) --dbgsym-migration='libllvm$(LLVM_VERSION)-dbg' + dh_strip -p liblldb-$(LLVM_VERSION) --dbgsym-migration='liblldb-$(LLVM_VERSION)-dbg' +endif +# ifeq (${LLD_ENABLE},yes) +# PATH=$(CURDIR)/:$$PATH dh_strip -p liblld-$(LLVM_VERSION) --dbg-package=liblld-$(LLVM_VERSION)-dbg +# endif +ifeq ($(call check_pkg_version,binutils,lt,2.31.1-11),yes) + : # building with clang, binutils/strip has hard time stripping some libs because of + : # https://sourceware.org/bugzilla/show_bug.cgi?id=23788 + : # use llvm-strip instead + : # Workaround some issues with stripping by using llvm's + if test ! -f $(CURDIR)/strip; then \ + ln -s $(CURDIR)/debian/llvm-$(LLVM_VERSION)/$(LLVM_DIR)/bin/llvm-strip $(CURDIR)/strip; \ + fi + ls -al $(CURDIR)/debian/.debhelper/*/dbgsym-root/usr/lib/debug/.build-id/*/*|| true + : # On some old version of Debian (stretch) and Ubuntu, Rules-Requires-Root isn't supported + : # Sometime, it fails because of chown: changing ownership of 'debian/.debhelper/clang-7/dbgsym-root/usr/lib/debug/.build-id/37/ba506ae9d2f82219bf5c552f7c09853052b2b0.debug': Operation not permitted + : # Therefore, continue when we encounter an error + PATH=$(CURDIR)/:$$PATH LD_LIBRARY_PATH=$(DEB_INST)/$(LLVM_DIR)/lib/:/usr/lib/*/libfakeroot dh_strip -a -v || true + : # Remove the workaround + rm $(CURDIR)/strip + : # for some reasons, the +x might be removed + chmod -f +x $(CURDIR)/debian/*/$(LLVM_DIR)/bin/* || true +else + # GNU strip doesn't recognize WebAssembly binaries, and actually corrupts them. + # llvm-strip (as of 15.0.2) fails with --strip-debug (but works with --strip-all) + dh_strip -a -v -Xlibclang_rt.builtins-wasm32.a -Xlibclang_rt.builtins-wasm64.a -Xusr/lib/wasm32-wasi +endif + +override_dh_install: + : # fix libLLVM.so.1 install, install it under the SONAME + -ls -l debian/tmp/$(LLVM_DIR)/lib/libLLVM*.so* + test -f debian/tmp/$(LLVM_DIR)/lib/libLLVM.so.1 + + if [ -f debian/tmp/$(LLVM_DIR)/lib/libLLVM.so.1 ] && [ ! -h debian/tmp/$(LLVM_DIR)/lib/libLLVM.so.1 ]; then \ + soname=$$(objdump -p debian/tmp/$(LLVM_DIR)/lib/libLLVM.so.1 | awk '/ *SONAME / {print $$2}'); \ + rm -f debian/tmp/$(LLVM_DIR)/lib/$$soname; \ + mv debian/tmp/$(LLVM_DIR)/lib/libLLVM.so.1 debian/tmp/$(LLVM_DIR)/lib/$$soname; \ + ln -sf $$soname debian/tmp/$(LLVM_DIR)/lib/libLLVM-$(LLVM_VERSION).so; \ + ln -sf $$soname debian/tmp/$(LLVM_DIR)/lib/libLLVM.so; \ + fi + +ifeq (${POLLY_ENABLE},yes) +# only for arch:any builds +ifneq (,$(filter libpolly-$(LLVM_VERSION)-dev, $(packages))) + dh_install -p libpolly-$(LLVM_VERSION)-dev $(LLVM_DIR)/lib/cmake/polly/*.cmake $(LLVM_DIR)/lib/cmake/polly +# On old Debian & Ubuntu, removing the files is necessary + rm -rf debian/tmp/$(LLVM_DIR)/lib/cmake/polly/*.cmake +else + rm -rf debian/tmp/$(LLVM_DIR)/lib/cmake/polly/*.cmake +endif +endif + +ifeq ($(SKIP_COMMON_PACKAGES),yes) + : # removing files from the common packages + for p in $(COMMON_PKGS); do \ + echo "===== removing files from common package $$p ====="; \ + for f in $$(sed -e 's/^ *\[[^]]*\] *//' debian/$$p.install | awk '/^#|^ *$$/ {next} {print $$1}'); do \ + rm -vfr debian/tmp/$$f; \ + done; \ + echo ''; \ + done +endif + + : # FIXME: test build, using --list-missing +ifneq ($(SLOPPY_BUILD),yes) + dh_install --fail-missing ${skip_packages} +else + : # don't fail on additional build artifacts, let the build continue + @echo 'FIXME: SLOPPY_BUILD defined, check results of dh_install' + dh_install --list-missing ${skip_packages} +endif + +# Move the libc++ abi files from libc++ to libc++-abi for the wasm32 packages +# These packages are arch: all, so only do so when the packages are built +ifneq (,$(filter libc++-$(LLVM_VERSION)-dev-wasm32, $(packages))) + mkdir -p debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1 + if test -f debian/libc++-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1/__cxxabi_config.h; then \ + mv debian/libc++-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1/__cxxabi_config.h \ + debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1/__cxxabi_config.h; \ + mv debian/libc++-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1/cxxabi.h \ + debian/libc++abi-$(LLVM_VERSION)-dev-wasm32/$(LLVM_DIR)/include/wasm32-wasi/c++/v1/cxxabi.h; \ + fi +endif +# Because of hurd, we are more flexible in what we include in libclang-X.Y-rt +# but we don't want to install wasi files into libclang-rt as they have their own package +# So, we remove this directory from the package + rm -fr debian/libclang-rt-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/lib/wasi/ + + if [ -d debian/llvm-$(LLVM_VERSION)/usr/share/doc/llvm-$(LLVM_VERSION) ]; then \ + for svg in usage-*.svg; do \ + [ -f $$svg ] || continue; \ + xz -9v $$svg; \ + cp -p $$svg.xz debian/llvm-$(LLVM_VERSION)/usr/share/doc/llvm-$(LLVM_VERSION)/.; \ + done; \ + fi + +# create a debian_config.mk file to use in llvm-defaults +# avoids hard-coding the architectures for various packages +# CLANG_RT_ARCHS is used in llvm-defaults, but not here ... set it to ANY_ARCHS + mkdir -p debian/llvm-$(LLVM_VERSION)-dev/$(LLVM_DIR)/share + ( \ + echo '# record component builds for every architecture'; \ + echo 'ANY_ARCHS = $(ANY_ARCHS)'; \ + echo 'BINUTILS_ARCHS = $(BINUTILS_ARCHS)'; \ + echo 'BINUTILS_GOLD_ARCHS = $(BINUTILS_GOLD_ARCHS)'; \ + echo 'BOLT_ARCHS = $(BOLT_ARCHS)'; \ + echo 'CLANG_GRPC_ARCHS = $(CLANG_GRPC_ARCHS)'; \ + echo 'CLANG_RT_ARCHS = $(ANY_ARCHS)'; \ + echo 'FLANG_ARCHS = $(FLANG_ARCHS)'; \ + echo 'HWASAN_ARCHS = $(HWASAN_ARCHS)'; \ + echo 'LIBFUZZER_ARCHS = $(LIBFUZZER_ARCHS)'; \ + echo 'LIBUNWIND_ARCHS = $(LIBUNWIND_ARCHS)'; \ + echo 'LLD_ARCHS = $(LLD_ARCHS)'; \ + echo 'LLDB_ARCHS = $(LLDB_ARCHS)'; \ + echo 'LLVM_LIBC_ARCHS = $(LLVM_LIBC_ARCHS)'; \ + echo 'LLVM_SPIRV_ARCHS = $(LLVM_SPIRV_ARCHS)'; \ + echo 'MULTILIB_ARCHS = $(MULTILIB_ARCHS)'; \ + echo 'OCAML_ARCHS = $(OCAML_ARCHS)'; \ + echo 'OFFLOAD_ARCHS = $(OFFLOAD_ARCHS)'; \ + echo 'OMP_ARCHS = $(OMP_ARCHS)'; \ + echo 'OMPD_ARCHS = $(OMPD_ARCHS)'; \ + echo 'POLLY_ARCHS = $(POLLY_ARCHS)'; \ + echo 'RT_ORC_ARCHS = $(RT_ORC_ARCHS)'; \ + ) > debian/llvm-$(LLVM_VERSION)-dev/$(LLVM_DIR)/share/debian_config.mk + + +stamps/repack_a_llvm_ir: +ifeq (${LTO_ENABLE},yes) +# with LTO, .a contains llvm ir instead of native code. So, recompile them + NJOBS="$(NJOBS)" P_TO_LLVM="$(CURDIR)" VERSION=$(LLVM_VERSION) bash -v debian/llvm-compile-lto-elf.sh $(CXXFLAGS_EXTRA) +endif + touch $@ + + +override_dh_installdeb: stamps/repack_a_llvm_ir +# Managed by the package + dh_installdeb -a + + rm -f debian/tmp/$(LLVM_DIR)/lib/python*/*-packages/lldb/__init__.pyc debian/python*-lldb-$(LLVM_VERSION)/$(LLVM_DIR)/lib/python*/*-packages/lldb/__init__.pyc + rm -f debian/clang-$(LLVM_VERSION)-examples/usr/share/doc/clang-$(LLVM_VERSION)-examples/examples/*Make* + +# the openmp header files moved to the same path as lib clang headers. +# To make sure they aren't conflicting ( https://bugs.llvm.org/show_bug.cgi?id=46977 ) +# Remove them from the libclang-common package + rm -f debian/libclang-common-$(LLVM_VERSION)-dev/$(LLVM_DIR)/lib/clang/$(LLVM_VERSION)/include/omp*.h + +# Remove some libc++ abi files in the libc++ file. See bug #969274 + rm -f debian/libc++-$(LLVM_VERSION)-dev/$(LLVM_DIR)/include/c++/__cxxabi_config.h debian/libc++-$(LLVM_VERSION)-dev/$(LLVM_DIR)/include/c++/cxxabi.h + +# Remove auto generated python pyc + find debian/llvm-$(LLVM_VERSION)-tools/$(LLVM_DIR)/ -name '*.pyc' | xargs -r rm -f + +ifeq (${RUN_TEST},yes) +# List of the archs we know we have 100 % tests working +ARCH_LLVM_TEST_OK := i386 amd64 + +override_dh_auto_test: + echo "Running tests: $(RUN_TEST)" +# LLVM tests +ifneq (,$(findstring $(DEB_HOST_ARCH),$(ARCH_LLVM_TEST_OK))) +# logs the output to check-llvm_build_log.txt for validation through autopkgtest + mkdir -p reports + ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-llvm 2>&1 | tee reports/check-llvm_build_log.txt +else + ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-llvm || true +endif + +# Clang tests + ninja $(VERBOSE) -C $(TARGET_BUILD) stage2-check-clang || true + +# Clang extra tests (ex: clang-tidy) + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-clang-tools || true + +# LLD tests +ifeq (${LLD_ENABLE},yes) + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-lld || true +endif + +# Sanitizer + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-sanitizer || true + +# Libcxx + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxx || true + +# Libc + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libc || true + +# Libcxxabi + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-libcxxabi || true + +# MLIR +ifeq (,$(filter $(DEB_HOST_ARCH), armel armhf i386 x32)) +# Do not run MLIR test on i386 because of +# https://github.com/llvm/llvm-project/issues/58357 + ninja $(VERBOSE) -C $(TARGET_BUILD_STAGE2) check-mlir || true +endif + +# Libclc + ninja $(VERBOSE) -C libclc/build test || true + +# LLDB tests +ifeq (,$(filter $(DEB_HOST_ARCH), $(LLDB_DISABLE_ARCHS) armhf armel)) +ifneq (,$(filter codecoverage,$(DEB_BUILD_OPTIONS))) +# Create a symlink to run the testsuite: see https://bugs.archlinux.org/task/50759 + cd $(TARGET_BUILD)/lib/python*/*-packages/; \ + if test ! -e _lldb.so; then \ + ln -s lldb/_lldb.so; \ + fi + if test "$(CODECOVERAGE)" = "no"; then \ + LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:$(CURDIR)/$(TARGET_BUILD)/lib/ ninja $(VERBOSE) -C $(TARGET_BUILD) check-lldb || true; \ + fi + # remove the workaround + rm $(TARGET_BUILD)/lib/python*/*-packages/_lldb.so +endif +endif + +# Polly tests +#ifeq (${POLLY_ENABLE},yes) +# ninja -C $(TARGET_BUILD) check-polly || true +#endif + +# Managed by debian build system + rm -f $(TARGET_BUILD)/lib/python*/*-packages/lldb/_lldb.so + +# The compression of the code coverage report is done in the +# hook B21GetCoverageResults on the server + if test "$(CODECOVERAGE)" = "yes"; then \ + REPORT=reports/llvm-toolchain.info; \ + mkdir -p reports/; \ + lcov --directory $(TARGET_BUILD)/ --capture --ignore-errors source --output-file $$REPORT; \ + lcov --remove $$REPORT "/usr*" -o $$REPORT; \ + genhtml -o reports/coverage --show-details --highlight --legend $$REPORT; \ + chmod 0755 `find reports/coverage -type d`; \ + chmod 0644 `find reports/coverage -type f`; \ + fi +else +override_dh_auto_test: + @echo "Skipping tests" +endif + + +override_dh_builddeb: + dh_builddeb ${skip_packages} + +override_dh_gencontrol: stamps/sccache-stats + dh_gencontrol ${skip_packages} -- $(control_vars) + +override_dh_auto_clean: + rm -rf $(TARGET_BUILD) llvm/docs/_build/ clang/docs/_build tools/clang/docs/_html/ +# QA tools + rm -rf cov-int/ reports/ + find utils -name '*.pyc' | xargs -r rm -f + # Use -I because a test has a space in its name + find lldb/test -iname '*.pyc' | xargs -I{} -r rm -f {} + rm -f utils/vim/llvm-$(LLVM_VERSION).vim $(CURDIR)/utils/vim/tablegen-$(LLVM_VERSION).vim + rm -f clang/tools/clang-format/clang-format-diff-$(LLVM_VERSION) + rm -f clang/tools/clang-format/clang-format-$(LLVM_VERSION).py + rm -rf libclc/build + rm -rf build-wasm + rm -rf build-mingw + if test -f lld/docs/ld.lld-$(LLVM_VERSION).1; then \ + mv lld/docs/ld.lld-$(LLVM_VERSION).1 lld/docs/ld.lld.1; \ + fi + for f in debian/*.in; do \ + f2=$$(echo $$f | sed 's/\.in$$//;s/X\.Y/$(LLVM_VERSION)/'); \ + case $$f2 in \ + debian/control|debian/watch|debian/packages.ocaml) \ + echo "keep $$f2";; \ + *) \ + rm -f $$f2; \ + esac; \ + done + if test "$(SCAN_BUILD)" = "yes"; then \ + patch -f -R -p1 < debian/patches/on-the-fly/use-scan-build-runtimes.diff||true; \ + fi + : # for some reason, the docs are written to debian/usr and debian/man ... + rm -rf debian/usr debian/man + : # remove extra stamps + rm -f override_dh_auto_install + rm -rf stamps + rm -f usage-*.svg* + rm -f debian/shlibs.common debian/shlibs.local + +.PHONY: override_dh_strip preconfigure diff --git a/source/format b/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/lintian-overrides b/source/lintian-overrides new file mode 100644 index 0000000000..628dd5aee5 --- /dev/null +++ b/source/lintian-overrides @@ -0,0 +1,37 @@ +# Reported here https://bugs.llvm.org/show_bug.cgi?id=32962 +# No activity, silent it to avoid false positive in automation +source: license-problem-convert-utf-code [llvm/lib/Support/ConvertUTF.cpp] +# A unit test. No big deal +source: source-is-missing [lldb/unittests/ObjectFile/ELF/Inputs/early-section-headers.so] +# Generated See https://github.com/llvm-mirror/lldb/commit/7aee683f410ffc27b61a8e9779b9df9a7c0fff7d#diff-dcfea8d8a36846a00781105f8618e06d +source: source-is-missing [lldb/test/Shell/ObjectFile/ELF/Inputs/PT_LOAD-overlap-section.elf] + +# Makes sense for the testsuites +source: source-is-missing [lldb/test/Shell/ObjectFile/ELF/Inputs/netbsd-amd64.core] +source: source-is-missing [llvm/test/*] +source: source-is-missing [llvm/unittests/*] +source: source-is-missing [lldb/test/*] +source: source-is-missing [lld/test/*] +source: source-is-missing [*exe] +source: source-is-missing [llvm/test/tools/llvm-readobj/COFF/Inputs/*.dll] +source: source-is-missing [llvm/test/Object/Inputs/*.dll] + +# testsuites only +source: source-contains-prebuilt-windows-binary +source: elf-error +source: unpack-message-for-orig + +# By design +source: invalid-arch-string-in-source-relation riscv64* + +# we are a compiler, it is a test, it is expected +source: binary-with-bad-dynamic-table [llvm/test/tools/llvm-xray/X86/Inputs/elf64-objcopied-instrmap.bin] + +# needed for the common libraries +source: weak-library-dev-dependency + +# lintian should not warn +source: debian-rules-calls-nproc + +# this is intended when the common libs are built from a higher version +source: version-substvar-for-external-package diff --git a/source/options b/source/options new file mode 100644 index 0000000000..976f27ab3d --- /dev/null +++ b/source/options @@ -0,0 +1 @@ +extend-diff-ignore = "(^|/)(clang|clang-tools-extra|compiler-rt|CONTRIBUTING.md|debuginfo-tests|flang|integration-test-suite|libc|libclc|libcxx|libcxxabi|libunwind|lld|lldb|llvm|mlir|openmp|parallel-libs|polly|pstl|README.md|runtimes|utils|)" diff --git a/tests/cmake-clang-test b/tests/cmake-clang-test new file mode 100755 index 0000000000..bcca9a481b --- /dev/null +++ b/tests/cmake-clang-test @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=21 + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-clang-test) +find_package(Clang $LLVM_VERSION.1 REQUIRED) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/tests/cmake-clang-test.in b/tests/cmake-clang-test.in new file mode 100755 index 0000000000..19891735e9 --- /dev/null +++ b/tests/cmake-clang-test.in @@ -0,0 +1,29 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-clang-test) +find_package(Clang $LLVM_VERSION.1 REQUIRED) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/tests/cmake-llvm-test b/tests/cmake-llvm-test new file mode 100755 index 0000000000..6a8cd0d6f1 --- /dev/null +++ b/tests/cmake-llvm-test @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=21 + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-llvm-test) +find_package(LLVM $LLVM_VERSION.1 REQUIRED + COMPONENTS + Analysis + BitReader + BitWriter + Core + Support + TransformUtils + llvm-as + llvm-dis +) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/tests/cmake-llvm-test.in b/tests/cmake-llvm-test.in new file mode 100755 index 0000000000..3c7da843e5 --- /dev/null +++ b/tests/cmake-llvm-test.in @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + + +# the idea was taken from spirv-llvm-translator package + +cd "$AUTOPKGTEST_TMP" +cat < CMakeLists.txt +cmake_minimum_required(VERSION 3.22) +project(cmake-llvm-test) +find_package(LLVM $LLVM_VERSION.1 REQUIRED + COMPONENTS + Analysis + BitReader + BitWriter + Core + Support + TransformUtils + llvm-as + llvm-dis +) + +EOF + + +mkdir build && cd build +cmake .. diff --git a/tests/control b/tests/control new file mode 100644 index 0000000000..b2b91a7fd3 --- /dev/null +++ b/tests/control @@ -0,0 +1,27 @@ +Test-Command: ./debian/debian-llvm-testsuite.bats +Depends: @, cmake, make, g++, file, dpkg-dev, bats, bats-assert, + binutils-gold [amd64 arm64 armel armhf hurd-amd64 hurd-i386 i386 powerpc ppc64 ppc64el s390x sparc64 x32], + g++-multilib [amd64 i386 mips64 mips64el mipsel powerpc ppc64 s390x sparc sparc64 x32], +# Comment the dbgsym package because of bug #917528 +# dbgsym packages not being available in testing +# clang-21-dbgsym, libclang1-21-dbgsym +Restrictions: allow-stderr +Architecture: amd64 arm64 i386 + +Tests: integration-test-suite-test +Depends: @, cmake, make, g++ +Restrictions: allow-stderr +Architecture: amd64 arm64 + +Tests: cmake-llvm-test +Depends: gcc, build-essential, cmake, llvm-21-dev + +Tests: cmake-clang-test +Depends: gcc, build-essential, cmake, llvm-21-dev, clang-21, libclang-21-dev + +Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" +Depends: python3-lldb-21 +Architecture: amd64 arm64 armel armhf i386 loong64 m68k ppc64el riscv64 s390x x32 + +Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" +Depends: python3-clang-21 diff --git a/tests/control.in b/tests/control.in new file mode 100644 index 0000000000..c579735966 --- /dev/null +++ b/tests/control.in @@ -0,0 +1,27 @@ +Test-Command: ./debian/debian-llvm-testsuite.bats +Depends: @, cmake, make, g++, file, dpkg-dev, bats, bats-assert, + binutils-gold [@BINUTILS_GOLD_ARCHS@], + g++-multilib [@MULTILIB_ARCHS@], +# Comment the dbgsym package because of bug #917528 +# dbgsym packages not being available in testing +# clang-@LLVM_VERSION@-dbgsym, libclang1-@LLVM_VERSION@-dbgsym +Restrictions: allow-stderr +Architecture: amd64 arm64 i386 + +Tests: integration-test-suite-test +Depends: @, cmake, make, g++ +Restrictions: allow-stderr +Architecture: amd64 arm64 + +Tests: cmake-llvm-test +Depends: gcc, build-essential, cmake, llvm-@LLVM_VERSION@-dev + +Tests: cmake-clang-test +Depends: gcc, build-essential, cmake, llvm-@LLVM_VERSION@-dev, clang-@LLVM_VERSION@, libclang-@LLVM_VERSION@-dev + +Test-Command: python3 -c "import lldb; print(lldb.__file__); print(lldb)" +Depends: python3-lldb-@LLVM_VERSION@ +Architecture: @LLDB_ARCHS@ + +Test-Command: python3 -c "import clang; print(clang.__file__); print(clang)" +Depends: python3-clang-@LLVM_VERSION@ diff --git a/tests/integration-test-suite-test b/tests/integration-test-suite-test new file mode 100755 index 0000000000..1af65e488c --- /dev/null +++ b/tests/integration-test-suite-test @@ -0,0 +1,40 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=21 + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + +# Copy the integration repo to the temp dir +cp -Rv integration-test-suite/* "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP" + +mkdir build +cd build +cmake -DLIT=/usr/lib/llvm-$LLVM_VERSION/build/utils/lit/lit.py \ + -DCLANG_BINARY=/usr/bin/clang-$LLVM_VERSION \ + -DCLANGXX_BINARY=/usr/bin/clang++-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DCLANG_FORMAT_BINARY=/usr/bin/clang-format-$LLVM_VERSION \ + -DLLD_BINARY=/usr/bin/lld-$LLVM_VERSION \ + -DLLDB_BINARY=/usr/bin/lldb-$LLVM_VERSION \ + -DLLVMCONFIG_BINARY=/usr/bin/llvm-config-$LLVM_VERSION \ + -DOPT_BINARY=/usr/bin/opt-$LLVM_VERSION \ + -DSCANBUILD=/usr/bin/scan-build-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DSCANVIEW=/usr/bin/scan-view-$LLVM_VERSION \ + -DLLVMNM=/usr/bin/llvm-nm-$LLVM_VERSION \ + -DLLVMPROFDATA=/usr/bin/llvm-profdata-$LLVM_VERSION \ + -DENABLE_COMPILER_RT=OFF \ + -DENABLE_LIBCXX=ON \ + -DENABLE_GOLD_TESTS=OFF \ + -DLLVM_CMAKE_PREFIX_PATH=/usr/lib/llvm-$LLVM_VERSION/lib/cmake/ ../ +make check diff --git a/tests/integration-test-suite-test.in b/tests/integration-test-suite-test.in new file mode 100755 index 0000000000..12f594fb6b --- /dev/null +++ b/tests/integration-test-suite-test.in @@ -0,0 +1,40 @@ +#!/bin/sh + +set -e + +LLVM_VERSION=@LLVM_VERSION@ + +# this is taken from libjsoncpp package +# Presence of $AUTOPKGTEST_TMP implies that someone will handle cleanup for us, so we +# can avoid duplicating the effort (signal handling, etc.) here. +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Required envvar AUTOPKGTEST_TMP \"$AUTOPKGTEST_TMP\" is not set" >&2 + exit 1 +fi + +# Copy the integration repo to the temp dir +cp -Rv integration-test-suite/* "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP" + +mkdir build +cd build +cmake -DLIT=/usr/lib/llvm-$LLVM_VERSION/build/utils/lit/lit.py \ + -DCLANG_BINARY=/usr/bin/clang-$LLVM_VERSION \ + -DCLANGXX_BINARY=/usr/bin/clang++-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DCLANG_FORMAT_BINARY=/usr/bin/clang-format-$LLVM_VERSION \ + -DLLD_BINARY=/usr/bin/lld-$LLVM_VERSION \ + -DLLDB_BINARY=/usr/bin/lldb-$LLVM_VERSION \ + -DLLVMCONFIG_BINARY=/usr/bin/llvm-config-$LLVM_VERSION \ + -DOPT_BINARY=/usr/bin/opt-$LLVM_VERSION \ + -DSCANBUILD=/usr/bin/scan-build-$LLVM_VERSION \ + -DCLANG_TIDY_BINARY=/usr/bin/clang-tidy-$LLVM_VERSION \ + -DSCANVIEW=/usr/bin/scan-view-$LLVM_VERSION \ + -DLLVMNM=/usr/bin/llvm-nm-$LLVM_VERSION \ + -DLLVMPROFDATA=/usr/bin/llvm-profdata-$LLVM_VERSION \ + -DENABLE_COMPILER_RT=OFF \ + -DENABLE_LIBCXX=ON \ + -DENABLE_GOLD_TESTS=OFF \ + -DLLVM_CMAKE_PREFIX_PATH=/usr/lib/llvm-$LLVM_VERSION/lib/cmake/ ../ +make check diff --git a/unpack.sh b/unpack.sh new file mode 100644 index 0000000000..a1c344672a --- /dev/null +++ b/unpack.sh @@ -0,0 +1,63 @@ +#!/bin/sh +set -e +ORIG_VERSION=21 +MAJOR_VERSION=21 # 8.0.1 + +REV=`ls -1 *${ORIG_VERSION}_${MAJOR_VERSION}*~+*xz | tail -1|perl -ne 'print "$1\n" if /~\+(.*)\.orig/;' | sort -ru` + +VERSION=$REV + +if test -z "$VERSION"; then + echo "Could not find the version" + exit 0 +fi +LLVM_ARCHIVE=llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION.orig.tar.xz +echo "unpack of $LLVM_ARCHIVE" +tar Jxf $LLVM_ARCHIVE +cd llvm-toolchain-${ORIG_VERSION}_$MAJOR_VERSION~+$VERSION/ + +VER_FOUND=$(grep "LLVM_VERSION_MAJOR " cmake/Modules/LLVMVersion.cmake|awk '{print $2}'|cut -d\) -f1) +if test "${MAJOR_VERSION}" != "$VER_FOUND" -a "${MAJOR_VERSION}.0.0" != "$VER_FOUND" -a "${MAJOR_VERSION}.0.0git" != "$VER_FOUND" -a "${MAJOR_VERSION}git" != "$VER_FOUND"; then + echo "Mismatch of version" + echo "Expected $MAJOR_VERSION / Found $VER_FOUND" + echo "Update unpack.sh" + exit 1 +fi + +cp -R ../$ORIG_VERSION/debian . + +export QUILT_PATCHES=debian/patches/ + +attempt=0 +max_attempts=5 + +while [ $attempt -lt $max_attempts ]; do + echo $attempt + attempt=$((attempt+1)) + echo "Attempt $attempt of $max_attempts" + + # Attempt to apply patches without allowing fuzz + output=$(quilt push -a --fuzz=0 || true 2>&1) + + echo "$output" + + # Check if the quilt push command failed due to a hunk failure + if echo "$output" | grep -q "hunk FAILED"; then + echo "Initial quilt push failed, trying without --fuzz=0..." + output=$(quilt push || true 2>&1) + echo "$output" + # Check if the output contains a line indicating fuzz was applied + if echo "$output" | grep -q "with fuzz"; then + echo "Fuzz detected, refreshing patch..." + quilt refresh + cp -R debian/patches/* ../$ORIG_VERSION/debian/patches/ + fi + else + echo "Patches applied successfully." + break # Exit the loop if patches were applied successfully + fi +done + +if [ $attempt -eq $max_attempts ]; then + echo "Reached maximum attempt limit without successfully applying all patches." +fi diff --git a/usage-wrapper.py b/usage-wrapper.py new file mode 100755 index 0000000000..bf8831fb44 --- /dev/null +++ b/usage-wrapper.py @@ -0,0 +1,399 @@ +#!/usr/bin/env python3 + +import argparse +import math +import os +import subprocess +import sys +import threading +import time + +try: + import psutil +except ImportError: + print(f'{sys.argv[0]}: the psutil module is required.', file=sys.stderr) + sys.exit(1) + +try: + import matplotlib + import matplotlib.pyplot as plt + from matplotlib.lines import Line2D +except ImportError: + plt = None + + +def to_gigabyte(value): + return value / 1024**3 + + +INTERVAL = 0.33 +LW = 0.5 + +global_n = 0 +global_cpu_data_sum = 0 +global_memory_data_sum = 0 +global_cpu_data_max = 0 +global_memory_data_min = to_gigabyte(psutil.virtual_memory().total) +global_memory_data_max = 0 +global_swap_data_min = to_gigabyte(psutil.swap_memory().total) +global_swap_data_max = 0 +global_disk_data_total = to_gigabyte(psutil.disk_usage('.').total) +global_disk_data_start = to_gigabyte(psutil.disk_usage('.').used) + +global_timestamps = [] +global_cpu_data = [] +global_memory_data = [] +global_process_usage = [] +global_process_hogs = {} + +process_name_map = {} +lock = threading.Lock() + +done = False +start_ts = time.monotonic() +cpu_count = psutil.cpu_count() + +special_processes = {'ld': 'gold', + 'WPA': 'deepskyblue', + 'WPA-stream': 'lightblue', + 'ltrans': 'forestgreen', + 'as': 'coral', + 'GCC': 'gray', + 'clang': 'darkgray', + 'rust': 'brown', + 'go': 'hotpink', + 'dwz': 'limegreen', + 'rpm/dpkg': 'plum'} +for i, k in enumerate(special_processes.keys()): + process_name_map[k] = i + + +descr = 'Run command and measure memory and CPU utilization' +parser = argparse.ArgumentParser(description=descr) +parser.add_argument('command', metavar='command', + help='Command', nargs=argparse.REMAINDER) +parser.add_argument('-c', '--command', dest='command1', + help='command as a single argument') +parser.add_argument('-v', '--verbose', action='store_true', help='Verbose') +parser.add_argument('--summary-only', dest='summary_only', + action='store_true', + help='No plot, just a summary at the end') +parser.add_argument('--base-memory', action='store_true', + help='Adjust memory to include the system load') +parser.add_argument('-s', '--separate-ltrans', action='store_true', + help='Separate LTRANS processes in graph') +parser.add_argument('-o', '--output', default='usage.svg', + help='Path to output image (default: usage.svg)') +parser.add_argument('-r', '--ranges', + help='Plot only the selected time ranges ' + '(e.g. 20-30, 0-1000)') +parser.add_argument('-t', '--title', help='Graph title') +parser.add_argument('-m', '--memory-hog-threshold', type=float, + help='Report about processes that consume the amount of ' + 'memory (in GB)') +parser.add_argument('-f', '--frequency', type=float, + default=INTERVAL, + help='Frequency of measuring (in seconds)') +parser.add_argument('-j', '--jobs', type=int, + default=cpu_count, dest='used_cpus', + help='Scale up CPU data to used CPUs ' + 'instead of available CPUs') +args = parser.parse_args() + +if args.command1 and args.command: + print(f'{sys.argv[0]}: either use -c "", ' + 'or append the command', file=sys.stderr) + sys.exit(1) + +if not args.summary_only and plt is None: + print(f'{sys.argv[0]}: use --summary-only, ' + 'or install the matplotlib module', file=sys.stderr) + sys.exit(1) + +cpu_scale = cpu_count / args.used_cpus + + +def get_process_name(proc): + name = proc.name() + cmdline = proc.cmdline() + if name == 'ld' or name == 'ld.gold': + return 'ld' + elif name == 'lto1-wpa': + return 'WPA' + elif name == 'lto1-wpa-stream': + return 'WPA-stream-out' + elif name in ('cc1', 'cc1plus', 'cc1objc', 'f951', 'd21', 'go1', 'gnat1'): + return 'GCC' + elif name.startswith('clang'): + return 'clang' + elif name.startswith('rust'): + return 'rust' + elif name in ('as', 'dwz', 'go'): + return name + elif name == 'rpmbuild' or name.startswith('dpkg'): + return 'rpm/dpkg' + elif '-fltrans' in cmdline: + if args.separate_ltrans: + return 'ltrans-%d' % proc.pid + else: + return 'ltrans' + return None + + +def record_process_memory_hog(proc, memory, timestamp): + if args.memory_hog_threshold: + if memory >= args.memory_hog_threshold: + cmd = ' '.join(proc.cmdline()) + tpl = (memory, timestamp) + if cmd not in global_process_hogs: + global_process_hogs[cmd] = tpl + elif memory > global_process_hogs[cmd][0]: + global_process_hogs[cmd] = tpl + + +def record(): + global global_n, global_cpu_data_sum, global_cpu_data_max + global global_memory_data_sum, global_memory_data_min + global global_memory_data_max + global global_swap_data_min, global_swap_data_max + + active_pids = {} + while not done: + timestamp = time.monotonic() - start_ts + used_cpu = psutil.cpu_percent(interval=args.frequency) * cpu_scale + used_memory = to_gigabyte(psutil.virtual_memory().used) + used_swap = to_gigabyte(psutil.swap_memory().used) + if not args.summary_only: + global_timestamps.append(timestamp) + global_memory_data.append(used_memory) + global_cpu_data.append(used_cpu) + + global_n += 1 + global_cpu_data_sum += used_cpu + global_memory_data_sum += used_memory + global_cpu_data_max = max(global_cpu_data_max, used_cpu) + global_memory_data_min = min(global_memory_data_min, used_memory) + global_memory_data_max = max(global_memory_data_max, used_memory) + global_swap_data_min = min(global_swap_data_min, used_swap) + global_swap_data_max = max(global_swap_data_max, used_swap) + + entry = {} + seen_pids = set() + for proc in psutil.Process().children(recursive=True): + try: + memory = to_gigabyte(proc.memory_info().rss) + record_process_memory_hog(proc, memory, timestamp) + name = get_process_name(proc) + if name: + seen_pids.add(proc.pid) + if proc.pid not in active_pids: + active_pids[proc.pid] = proc + else: + proc = active_pids[proc.pid] + cpu = proc.cpu_percent() / args.used_cpus + if name not in process_name_map: + length = len(process_name_map) + process_name_map[name] = length + if name not in entry: + entry[name] = {'memory': 0, 'cpu': 0} + entry[name]['cpu'] += cpu + # FIXME: ignore WPA streaming memory - COW makes it bogus + if name != 'WPA-stream-out': + entry[name]['memory'] += memory + except Exception: + # the process can be gone + pass + for pid in list(active_pids.keys()): + if pid not in seen_pids: + del active_pids[pid] + if args.verbose: + print(entry, flush=True) + if not args.summary_only: + global_process_usage.append(entry) + + +def stack_values(process_usage, key): + stacks = [] + for _ in range(len(process_name_map)): + stacks.append([]) + for values in process_usage: + for k, v in process_name_map.items(): + if k in values: + stacks[v].append(values[k][key]) + else: + stacks[v].append(0) + return stacks + + +def get_footnote(): + hostname = os.uname()[1].split('.')[0] + cpu_average = global_cpu_data_sum / global_n + cpu_max = global_cpu_data_max + base_memory = global_memory_data_min + peak_memory = global_memory_data_max + total_mem = to_gigabyte(psutil.virtual_memory().total) + return (f'host: {hostname}; CPUs: {args.used_cpus}/{cpu_count};' + f' CPU avg: {cpu_average:.0f}%;' + f' CPU max: {cpu_max:.0f}%;' + f' base memory: {base_memory:.1f} GB;' + f' peak memory: {peak_memory:.1f} GB;' + f' total memory: {total_mem:.1f} GB') + + +def get_footnote2(): + peak_swap = global_swap_data_max + total_swap = to_gigabyte(psutil.swap_memory().total) + disk_total = global_disk_data_total + disk_start = global_disk_data_start + disk_end = to_gigabyte(psutil.disk_usage('.').used) + disk_delta = disk_end - disk_start + return (f'swap peak/total: {peak_swap:.1f}/{total_swap:.1f} GB;' + f' disk start/end/total: {disk_start:.1f}/{disk_end:.1f}/{disk_total:.1f} GB;' + f' disk delta: {disk_delta:.1f} GB') + + +def generate_graph(time_range): + timestamps = [] + cpu_data = [] + memory_data = [] + process_usage = [] + + # filter date by timestamp + for i, ts in enumerate(global_timestamps): + if not time_range or time_range[0] <= ts and ts <= time_range[1]: + timestamps.append(ts) + cpu_data.append(global_cpu_data[i]) + memory_data.append(global_memory_data[i]) + process_usage.append(global_process_usage[i]) + + if not timestamps: + if args.verbose: + print('No data for range: %s' % str(time_range)) + return + + peak_memory = max(memory_data) + + fig, (cpu_subplot, mem_subplot) = plt.subplots(2, sharex=True) + title = args.title if args.title else '' + if time_range: + title += ' (%d-%d s)' % (time_range[0], time_range[1]) + fig.suptitle(title, fontsize=17) + fig.set_figheight(5) + fig.set_figwidth(10) + # scale cpu axis + local_peak_cpu = max(cpu_data) + cpu_ylimit = (local_peak_cpu // 10) * 11 + 5 + if cpu_ylimit > 200: + cpu_ylimit = 200 + cpu_subplot.set_title('CPU usage') + cpu_subplot.set_ylabel('%') + cpu_subplot.plot(timestamps, cpu_data, c='blue', lw=LW, label='total') + cpu_subplot.set_ylim([0, cpu_ylimit]) + cpu_subplot.axhline(color='r', alpha=0.5, y=100.0 / args.used_cpus, lw=LW, + linestyle='dotted', label='single core') + cpu_subplot.set_xlim(left=time_range[0] if time_range else 0) + cpu_subplot.grid(True) + + mem_subplot.plot(timestamps, memory_data, c='blue', lw=LW, label='total') + mem_subplot.set_title('Memory usage') + mem_subplot.set_ylabel('GB') + mem_subplot.set_xlabel('time') + + # scale it to a reasonable limit + limit = 1 + while peak_memory > limit: + limit *= 2 + if limit > 2 and limit * 0.75 >= peak_memory: + limit = int(limit * 0.75) + mem_subplot.set_ylim([0, 1.1 * limit]) + mem_subplot.set_yticks(range(0, limit + 1, math.ceil(limit / 8))) + mem_subplot.grid(True) + + # Try to use the newer colormaps attribute; if not available, fallback + try: + colors = list(matplotlib.colormaps['tab20c'].colors * 100) + except AttributeError: + colors = list(plt.cm.get_cmap('tab20c').colors * 100) + for name, color in special_processes.items(): + if name in process_name_map: + colors[process_name_map[name]] = color + + mem_stacks = stack_values(process_usage, 'memory') + cpu_stacks = stack_values(process_usage, 'cpu') + if mem_stacks: + mem_subplot.stackplot(timestamps, mem_stacks, + colors=colors) + cpu_subplot.stackplot(timestamps, cpu_stacks, + colors=colors) + + # generate custom legend + colors = special_processes.values() + custom_lines = [Line2D([0], [0], color=x, lw=5) for x in colors] + custom_lines.insert(0, Line2D([0], [0], color='b', lw=LW)) + custom_lines.insert(0, Line2D([0], [0], color='r', alpha=0.5, + linestyle='dotted', lw=LW)) + names = ['single core', 'total'] + list(special_processes.keys()) + fig.legend(custom_lines, names, loc='right', prop={'size': 6}) + + filename = args.output + if time_range: + tr = '-%d-%d' % (time_range[0], time_range[1]) + filename = os.path.splitext(args.output)[0] + tr + '.svg' + plt.subplots_adjust(bottom=0.15) + plt.figtext(0.1, 0.04, get_footnote(), fontsize='small') + plt.figtext(0.1, 0.01, get_footnote2(), fontsize='small') + plt.savefig(filename) + if args.verbose: + print('Saving plot to %s' % filename) + + +def summary(): + print(f'SUMMARY: {get_footnote()}') + print(f'SUMMARY: {get_footnote2()}') + if global_process_hogs: + print(f'PROCESS MEMORY HOGS (>={args.memory_hog_threshold:.1f} GB):') + items = sorted(global_process_hogs.items(), key=lambda x: x[1][0], + reverse=True) + for cmdline, (memory, ts) in items: + print(f' {memory:.1f} GB: {ts:.1f} s: {cmdline}') + + +thread = threading.Thread(target=record, args=()) +thread.start() + +ranges = [] +if args.ranges: + for r in args.ranges.split(','): + parts = r.split('-') + assert len(parts) == 2 + ranges.append([int(x) for x in parts]) + +if args.verbose: + print('Ranges are %s' % str(ranges)) + print('Running command', flush=True) + +cp = None +try: + if args.command1: + cp = subprocess.run(args.command1, shell=True) + else: + cp = subprocess.run(args.command) +except KeyboardInterrupt: + rv = 2 +finally: + done = True + thread.join() + summary() + if global_memory_data: + min_memory = min(global_memory_data) + if not args.base_memory: + global_memory_data = [x - min_memory for x in global_memory_data] + + if plt: + generate_graph(None) + for r in ranges: + generate_graph(r) + if cp: + rv = cp.returncode + +sys.exit(rv) diff --git a/watch b/watch new file mode 100644 index 0000000000..6dc3b29192 --- /dev/null +++ b/watch @@ -0,0 +1,15 @@ +version=4 +opts=repack,compression=xz, \ + https://github.com/llvm/llvm-project/tags \ + (?:.*?/)?llvmorg-(21[\d\.\-]+).tar.gz + +# FIXME: only works when using --force-download +# Newest version of integration-test-suite on remote site is 0.0~git20240518.a962677, local version is 21.1.x +opts=\ +component=integration-test-suite,\ +mode=git,\ +pgpmode=none,\ +repack,\ +compression=xz \ + https://github.com/opencollab/llvm-toolchain-integration-test-suite \ + HEAD diff --git a/watch.in b/watch.in new file mode 100644 index 0000000000..52fc9ae484 --- /dev/null +++ b/watch.in @@ -0,0 +1,15 @@ +version=4 +opts=repack,compression=xz, \ + https://github.com/llvm/llvm-project/tags \ + (?:.*?/)?llvmorg-(@LLVM_VERSION@[\d\.\-]+).tar.gz + +# FIXME: only works when using --force-download +# Newest version of integration-test-suite on remote site is 0.0~git20240518.a962677, local version is 21.1.x +opts=\ +component=integration-test-suite,\ +mode=git,\ +pgpmode=none,\ +repack,\ +compression=xz \ + https://github.com/opencollab/llvm-toolchain-integration-test-suite \ + HEAD